为什么切片ndarray重塑它?

时间:2013-01-27 16:11:56

标签: python numpy matplotlib

我有一个nx1数组,a:

array([[0],
       [0],
       [0]])

当我用

切片时
a[:-1,0]

它变成了:

a([0,0])

并且我无法在绘图中使用它(现在尺寸错误,即使长度正确)。我试过了

a[:-1,0].T

transpose(a[:-1,0])

无济于事。

如何在不改变形状的情况下进行切片? (我想以列形式保存)

1 个答案:

答案 0 :(得分:3)

a = numpy.zeros((3,1)),然后

    b = a[:-1,:]

会给你一个列向量。

    array([[ 0.],
           [ 0.]])

在切割numpy数组时,您必须区分对列的内容进行处理,例如: a[:,0],并对列本身进行处理,例如a[:,0:1]或 - 在这种情况下 - a[:,:]