为什么numpy数组np.array([(1,2,3,2,3,4)]的维数是2? a=np.array([(1,2,3,2,3,4)]) 打印(a.ndim)

为什么numpy数组np.array([(1,2,3,2,3,4)]的维数是2? a=np.array([(1,2,3,2,3,4)]) 打印(a.ndim),numpy,Numpy,为什么提到的数组是二维的而不是一维的 这是因为您传递了一个包含元组的列表,因此它变成了二维的,如果删除该列表[],则它将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对传递的参数调用\uuuuu array\uuuuu方法时,传

为什么提到的数组是二维的而不是一维的


这是因为您传递了一个包含元组的列表,因此它变成了二维的,如果删除该列表
[]
,则它将
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
对传递的参数调用
\uuuuu array\uuuuu
方法时,传递的参数返回嵌套序列而不是一维数组:

您正在从包含元组的列表创建数组,深度等于2,数组维度将是两个。您想要什么形状和数据类型?
np.array
将元组视为列表,至少对于默认的数字数据类型。对于复合(结构化)数据类型,输入应该是元组列表,但这是一个更高级的主题。@hpaulj我第一次玩np数组,遇到了这种奇怪的情况。无论如何,谢谢。在玩游戏时,最好检查
形状
数据类型
,如果数组不是太大,则显示整个内容。在这种情况下,形状应该是
(1,6)
。非常感谢,我实际上错过了数据类型。我还有一个疑问,但你们的回答帮助我找到了正确的方向。a=np.数组([(1)、(2)、(3)、(4)])打印(a.形状)。我又得到了一维数组。我知道(1,)是一个元组,而不是(1)。虽然我是个新手,但我不能推翻你的答案。哦!做到了这一点,站在这个美丽网站的贡献者一边是很好的,但是有太多的限制