Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

len() of a numpy array in python [duplicate]

If I use len(np.array([[2,3,1,0], [2,3,1,0], [3,2,1,1]])), I get back 3.

Why is there no argument for len() about which axis I want the length of in multidimensional arrays? This is alarming. Is there an alternative?

like image 866
Monica Heddneck Avatar asked Mar 28 '17 23:03

Monica Heddneck


2 Answers

Easy. Use .shape.

>>> nparray.shape
(5, 6) #Returns a tuple of array dimensions.
like image 133
Dmitry Pleshkov Avatar answered Sep 27 '22 17:09

Dmitry Pleshkov


What is the len of the equivalent nested list?

len([[2,3,1,0], [2,3,1,0], [3,2,1,1]])

With the more general concept of shape, numpy developers choose to implement __len__ as the first dimension. Python maps len(obj) onto obj.__len__.

X.shape returns a tuple, which does have a len - which is the number of dimensions, X.ndim. X.shape[i] selects the ith dimension (a straight forward application of tuple indexing).

like image 42
hpaulj Avatar answered Sep 27 '22 19:09

hpaulj