Python 为什么切片阵列会重塑它?
我有一个nx1阵列,一个:Python 为什么切片阵列会重塑它?,python,numpy,matplotlib,Python,Numpy,Matplotlib,我有一个nx1阵列,一个: array([[0], [0], [0]]) 当我把它切成薄片的时候 a[:-1,0] 它变成: a([0,0]) 我不能在绘图中使用它(现在尺寸是错误的,即使长度是正确的)。我试过了 a[:-1,0].T 及 无济于事 如何在不改变形状的情况下进行切片?(我想以列的形式保存它)说a=numpy.zeros((3,1)),然后 b = a[:-1,:] 将给您一个列向量 array([[ 0.],
array([[0],
[0],
[0]])
当我把它切成薄片的时候
a[:-1,0]
它变成:
a([0,0])
我不能在绘图中使用它(现在尺寸是错误的,即使长度是正确的)。我试过了
a[:-1,0].T
及
无济于事
如何在不改变形状的情况下进行切片?(我想以列的形式保存它)说a=numpy.zeros((3,1))
,然后
b = a[:-1,:]
将给您一个列向量
array([[ 0.],
[ 0.]])
切片numpy数组时,必须区分寻址列的内容(例如
a[:,0]
)和寻址列本身(例如a[:,0:1]
或-在本例中为a[:,:]
) a[:-1,:1]==a[:-1,0:1]
也可以从包含多个列的数组中拉出第0列。[在这里,我认为即使是a[:-1]
也足够了。]对于二维数组,还可以选择使用矩阵
,即使在访问单个列或行时,它也会保留其二维形状。如果访问单个元素,它将返回单个标量,而不是形状数组(1,1)
。
array([[ 0.],
[ 0.]])