numpy rollaxis函数的行为让我感到困惑.该文件说:
向后滚动指定的轴,直到它位于给定位置.
并为start参数:
滚动轴直到它位于此位置之前.
对我来说,这已经不知何故了.
好的,直接的例子(来自文档):
>>> a = np.ones((3,4,5,6))
>>> np.rollaxis(a, 1, 4).shape
(3, 5, 6, 4)
Run Code Online (Sandbox Code Playgroud)
索引1(4)处的轴向后滚动,直到它位于索引4之前.
现在,当start索引小于axis索引时,我们有这样的行为:
>>> np.rollaxis(a, 3, 1).shape
(3, 6, 4, 5)
Run Code Online (Sandbox Code Playgroud)
而不是在索引1之前在索引3处移动轴,它最终为1.
这是为什么?为什么轴不总是滚动到给定的start索引?