<分区>
由于 numpy 数组的形状为 (x,),我最近遇到了一些错误 - 这些可以通过下面的代码片段轻松修复
a = np.array([1,2,3,4]) #this form produced a bug
a.shape
>>> (4,)
a.shape = [4,1] #but this change fixed it
但这确实让我想知道,为什么 (x,) 是一维数组的默认形状?
<分区>
由于 numpy 数组的形状为 (x,),我最近遇到了一些错误 - 这些可以通过下面的代码片段轻松修复
a = np.array([1,2,3,4]) #this form produced a bug
a.shape
>>> (4,)
a.shape = [4,1] #but this change fixed it
但这确实让我想知道,为什么 (x,) 是一维数组的默认形状?
最佳答案
shape
元组中的每一项都表示一个轴。当你有一个项目时,这意味着你的数组是一维的(1 轴),否则它将是一个二维数组。当您执行 a.shape = [4,1]
时,您只是将一维数组转换为二维数组:
In [26]: a = np.array([1,2,3,4])
In [27]: a.shape = [4,1]
In [28]: a.shape
Out[28]: (4, 1)
In [29]: a
Out[29]:
array([[1],
[2],
[3],
[4]])
关于python - 为什么使用形状为 (x,) 而不是 (x,1) 的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43184493/