我有一个nx1数组,a:
array([[0],
[0],
[0]])
当我用它切片时
a[:-1,0]
它变成:
a([0,0])
我无法在绘图中使用它(现在尺寸是错误的,即使长度是正确的)。我试过了
a[:-1,0].T
和
transpose(a[:-1,0])
没有效果。
如何在不改变形状的情况下切片? (我想将其保留为列形式)
最佳答案
说 a = numpy.zeros((3,1))
,然后
b = a[:-1,:]
会给你一个列向量。
array([[ 0.],
[ 0.]])
在对 numpy 数组进行切片时,必须区分列的内容,例如a[:,0]
,并寻址列本身,例如a[:,0:1]
或 - 在本例中 - a[:,:]
。
关于python - 为什么对 ndarray 进行切片会 reshape 它的形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14549286/