summaryrefslogtreecommitdiff
path: root/numpy/add_newdocs.py
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2017-10-02 14:30:07 -0600
committerCharles Harris <charlesr.harris@gmail.com>2017-10-04 11:44:49 -0600
commit6a5e6188d938091ca1c335ae5f736b563bdca245 (patch)
tree99ebf90463197f2e48aa6f3d079e478e4ec01e95 /numpy/add_newdocs.py
parentdb59c45e5d02877bb246838a7cb277e5e3eed48c (diff)
downloadnumpy-6a5e6188d938091ca1c335ae5f736b563bdca245.tar.gz
DOC: Update ndarray.shape property documention.
[ci skip]
Diffstat (limited to 'numpy/add_newdocs.py')
-rw-r--r--numpy/add_newdocs.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/numpy/add_newdocs.py b/numpy/add_newdocs.py
index f81f6cb72..fd6fe277f 100644
--- a/numpy/add_newdocs.py
+++ b/numpy/add_newdocs.py
@@ -2926,14 +2926,13 @@ add_newdoc('numpy.core.multiarray', 'ndarray', ('shape',
"""
Tuple of array dimensions.
- As with `numpy.reshape`, one shape dimension can be -1. In this case, the value is
- inferred from the length of the array and remaining dimensions.
- Notes
- -----
- May be used to "reshape" the array, as long as this would not
- require a change in the total number of elements
- Using `numpy.reshape` or `ndarray.reshape` should always be preferred.
- Setting the shape directly is not really a safe thing to do.
+ The shape property is usually used to get the current shape of an array,
+ but may also be used to reshape the array in-place by assigning a tuple of
+ array dimensions to it. As with `numpy.reshape`, one of the new shape
+ dimensions can be -1, in which case its value is inferred from the size of
+ the array and the remaining dimensions. Reshaping an array in-place will
+ fail if a copy is required.
+
Examples
--------
>>> x = np.array([1, 2, 3, 4])
@@ -2951,10 +2950,15 @@ add_newdoc('numpy.core.multiarray', 'ndarray', ('shape',
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: total size of new array must be unchanged
+ >>> np.zeros((4,2))[::2].shape = (-1,)
+ Traceback (most recent call last):
+ File "<stdin>", line 1, in <module>
+ AttributeError: incompatible shape for a non-contiguous array
+
See Also
--------
- numpy.reshape : equivalent function
- ndarray.reshape : equivalent function
+ numpy.reshape : similar function
+ ndarray.reshape : similar method
"""))