size of NumPy array

2019-02-05 15:45发布

问题:

Is there an equivalent to the MATLAB

 size()

command in Numpy?

In MATLAB,

>>> a = zeros(2,5)
 0 0 0 0 0
 0 0 0 0 0
>>> size(a)
 2 5

In Python,

>>> a = zeros((2,5))
>>> 
array([[ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]])

>>> ?????

回答1:

This is called the "shape" in NumPy, and can be requested via the .shape attribute:

>>> a = zeros((2, 5))
>>> a.shape
(2, 5)

If you prefer a function, you could also use numpy.shape(a).



回答2:

Yes numpy has a size function, and shape and size are not quite the same.

Input

import numpy as np
data = [[1, 2, 3, 4], [5, 6, 7, 8]]
arrData = np.array(data)

print(data)
print(arrData.size)
print(arrData.shape)

Output

[[1, 2, 3, 4], [5, 6, 7, 8]]

8 # size

(2, 4) # shape