size of NumPy array

Question:

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))
>>> a
array([[ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]])
>>> ?????
Asked By: abalter

||

Answers:

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).

Answered By: Sven Marnach

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

Answered By: tcratius

[w,k] = a.shape will give you access to individual sizes if you want to use it for loops like in matlab

Answered By: Maciej RudziƄski
Categories: questions Tags: , , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.