【发布时间】:2022-12-18 04:29:44
【问题描述】:
我在 numpy 中有一个数组。我想将第一列滚动 1,将第二列滚动 2,等等。
这是一个例子。
>>> x = np.reshape(np.arange(15), (5, 3))
>>> x
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14]])
我想做的事:
>>> y = roll(x)
>>> y
array([[12, 10, 8],
[ 0, 13, 11],
[ 3, 1, 14],
[ 6, 4, 2],
[ 9, 7, 5]])
最好的方法是什么?
真正的数组会很大。我正在使用 cupy,numpy 的 GPU 版本。我更喜欢在 GPU 上最快的解决方案,但当然,欢迎任何想法。
【问题讨论】: