根据我对np.shape()函数的理解,该函数返回一个元组,每个索引都有相邻元素的数量。
当我在2D-array上运行np.shape()时:
a = np.array(([5,6,2,5],[7,8,9,10]))
print(np.shape(a))
字符串
我得到(2,4)
但是,当我在1D-array上运行np.shape()时:
d = np.array([1, 2, 3, 4, 5, 6])
print(np.shape(d))
型
我得到(6,)
为什么答案不是(1)?因为上面的2D阵列表示2行,4列。在1D数组中,我只有一行。我猜6代表1D数组中的6个元素。
我知道它返回相邻元素个数的定义。然而,即使这样也与2行4列的答案相矛盾,因为它没有考虑元素。
有人能帮我澄清一下我的疑惑吗?- 谢谢你-谢谢
1条答案
按热度按时间fzwojiic1#
直观地说,将一维阵列描述为1行中的N个元素是正确的,但
np.shape()
是任意定义的,以提供关于阵列尺寸的清晰信息。在Numpy documentation中,它说返回的“形状元组的元素给予了相应数组维度的长度”。一般来说,Numpy和编程中的数组维度是基于将数组嵌套到更大的数组中的次数。因此,这将返回(1,6)
:字符串
因为一个数组嵌套在另一个数组中。