haojin2 commented on a change in pull request #15390: [Numpy fix-doc]modify
numpy doc
URL: https://github.com/apache/incubator-mxnet/pull/15390#discussion_r298428829
##########
File path: python/mxnet/_numpy_op_doc.py
##########
@@ -32,24 +33,70 @@ def _np_reshape(a, newshape, order='C'):
an integer, then the result will be a 1-D array of that length.
One shape dimension can be -1. In this case, the value is
inferred from the length of the array and remaining dimensions.
- order : {'C'}, optional
+ order : {'C', 'F', 'A'}, optional
Read the elements of `a` using this index order, and place the
elements into the reshaped array using this index order. 'C'
means to read / write the elements using C-like index order,
with the last axis index changing fastest, back to the first
- axis index changing slowest. Other order types such as 'F'/'A'
- may be added in the future.
+ axis index changing slowest. 'F' means to read / write the
+ elements using Fortran-like index order, with the first index
+ changing fastest, and the last index changing slowest. Note that
+ the 'C' and 'F' options take no account of the memory layout of
+ the underlying array, and only refer to the order of indexing.
+ 'A' means to read / write the elements in Fortran-like index
+ order if `a` is Fortran *contiguous* in memory, C-like order
+ otherwise.
Returns
-------
reshaped_array : ndarray
- It will be always a copy of the original array. This behavior is
different
- from the official NumPy package where views of the original array may
be
- generated.
+ This will be a new view object if possible; otherwise, it will
+ be a copy. Note there is no guarantee of the *memory layout* (C- or
+ Fortran- contiguous) of the returned array.
- See Also
+
+ Notes
+ -----
+ It is not always possible to change the shape of an array without
+ copying the data. If you want an error to be raised when the data is
copied,
+ you should assign the new shape to the shape attribute of the array::
+
+ >>> a = np.zeros((10, 2))
+ # A transpose makes the array non-contiguous
+ >>> b = a.T
+ # Taking a view makes it possible to modify the shape without modifying
+ # the initial object.
+
+ >>> a = np.arange(6).reshape((3, 2))
+ >>> a
+ array([[0., 1.],
+ [2., 3.],
+ [4., 5.]])
+
+ You can think of reshaping as first raveling the array (using the given
+ index order), then inserting the elements from the raveled array into the
+ new array using the same kind of index ordering as was used for the
+ raveling.
+
+ >>> np.reshape(a, (2, 3)) # C-like index ordering
+ array([[0., 1., 2.],
+ [3., 4., 5.]])
Review comment:
Please make sure the alignment looks good on the rendered website.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services