为什么numpy数组np.array([(1,2,3,2,3,4)])的维数为2?

时间:2019-05-23 13:45:49

标签: numpy

a = np.array([(1,2,3,2,3,4)])
print(a.ndim)
  

为什么提到的数组是2维而不是1维?

1 个答案:

答案 0 :(得分:3)

这是因为您传递了一个包含元组的列表,因此该列表变成二维的。如果删除列表[],则ndim会显示为1:

In[29]:
a = np.array((1,2,3,2,3,4))
a.ndim
Out[29]: 1

您所做的与以下内容没有什么不同

In[30]:
a = np.array([[1,2,3,2,3,4]])
a.ndim
Out[20]: 2

我们在其中传递包含列表的列表

numpy在传递的参数上调用__array__方法时,传递的arg返回一个嵌套序列而不是一维数组:https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html