我正在尝试将numpy数组对象向右或向左旋转一段距离。我这样做的方式如下:
例如,我将名为myarray的数组向右旋转2个元素。
deque(myarray)
myarray = myarray.rotate(2)
print myarray
我得到的不是数组,而是无。有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
正如roippi所指出的那样,rotate
将双端队列旋转到位。代码应该是
deque(myarray)
myarray.rotate(1)
或者像Bi Rico建议的那样旋转阵列。
roll(myarray, 1)
还有许多其他方法可以完成这项工作,例如切片。
答案 1 :(得分:0)
考虑一下这个关于stardusts答案的评论/澄清/摘要(由于声誉而无法评论)以及完整的代码示例:
将startdusts回答与来自njzk2的评论结合起来(旋转不会返回任何要打印的内容),您可以全面了解。
>>> from collections import deque
>>> myarray = [1,2,3,4]
>>> myarray = deque(myarray)
>>> print myarray
deque([1,2,3,4])
>>> myarray.rotate(1)
>>> print myarray
deque([4,1,2,3])