首页 > 解决方案 > Numpy:二维数组矩阵的大小?

问题描述

我下面的两条语句在内部机制上有何不同,而它们却给出相同的输出?

x = np.array([[**1, 2, 3, 6, 7, 8**], [**4,  5, 6, 8, 9, 5**]])

np.size(x)

x.size

两者都是正确的输出,因为数组的大小是 12。

标签: python-3.xnumpy-ndarray

解决方案


在没有指定轴时内部np.size(x)调用x.sizesp 在这种情况下结果是相同的。

if axis is None:
    try:
        return a.size
    except AttributeError:
        return asarray(a).size

但是,如果您指定axis,则结果会有所不同。

>>> a=np.arange(16).reshape(4,4)
>>> a.shape
(4, 4)
>>> np.size(a,axis=1)
4
>>> a.size
16

推荐阅读