Quick Way To Access First Element In Numpy Array With Arbitrary Number Of Dimensions?
Solution 1:
a.flat[0]
This should be pretty fast and never require a copy. (Note that a.flat
is an instance of numpy.flatiter
, not an array, which is why this operation can be done without a copy.)
Solution 2:
You can use a.item(0)
; see the documentation at numpy.ndarray.item
.
A possible disadvantage of this approach is that the return value is a Python data type, not a numpy object. For example, if a
has data type numpy.uint8
, a.item(0)
will be a Python integer. If that is a problem, a.flat[0]
is better--see @user2357112's answer.
Solution 3:
## y -- numpy array of shape (1, Ty)
if you want to get the first element:
use y.shape[0]
if you want to get the second element:
use y.shape[1]
Source: https://docs.scipy.org/doc/numpy/reference/generated/numpy.take.html
You can also use the take for more complicated extraction (to get few elements):
numpy.take(a, indices, axis=None, out=None, mode='raise')[source] Take elements from an array along an axis.
Post a Comment for "Quick Way To Access First Element In Numpy Array With Arbitrary Number Of Dimensions?"