8
我有一个numpy的阵列是这样的:移位所有索引中NumPy的阵列
x=np.array([0,1,2,3,4])
,并希望在那里索引0处的值是在索引1创建一个数组,索引1是在索引2等
我想输出是:
y=np.array([0,0,1,2,3]).
我猜有一个简单的方法来做到这一点,而无需通过完整的循环访问数组。我怎样才能以numPythonic的方式做到这一点?
我有一个numpy的阵列是这样的:移位所有索引中NumPy的阵列
x=np.array([0,1,2,3,4])
,并希望在那里索引0处的值是在索引1创建一个数组,索引1是在索引2等
我想输出是:
y=np.array([0,0,1,2,3]).
我猜有一个简单的方法来做到这一点,而无需通过完整的循环访问数组。我怎样才能以numPythonic的方式做到这一点?
您可以使用
y = numpy.roll(x, 1)
y[0] = 0
或
y = numpy.r_[0, x[:-1]]
如果你想这样做原地的,你也可以这样做:
x[1:] = x[:-1]
x[0] = 0
NumPy的斯文救援。谢谢! – Idr 2011-05-02 16:24:10