在一个函数中,我给出一个Numpy数组:它可以是多维的,也可以是一维的
因此,当我给出一个多维数组时:
np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]).shape
>>> (3, 4)
和
np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]).shape[1]
>>> 4
美好的。
但是当我问形状
np.array([1,2,3,4]).shape
>>> (4,)
和
np.array([1,2,3,4]).shape[1]
>>> IndexError: tuple index out of range
糟糕,元组只包含一个元素...而我想让
1
表示它是一维数组。有没有办法做到这一点?我的意思是说,它具有简单的函数或方法,并且没有针对
ndim
的判别测试?谢谢 !
最佳答案
>>> a
array([1, 2, 3, 4])
>>> a.ndim
1
>>> b = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
>>> b.ndim
2
如果要使用列向量,则可以使用
.reshape
方法-实际上,.shape
实际上是一个可设置的属性,因此numpy还可让您执行此操作:>>> a
array([1, 2, 3, 4])
>>> a.shape += (1,)
>>> a
array([[1],
[2],
[3],
[4]])
>>> a.shape
(4, 1)
>>> a.ndim
2
关于python - 使用类似形状的函数获取一维numpy.array的 "1",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22772257/