<p>Numpy无法执行以下索引:</p>
<pre><code>a = np.arange(10)
a[-2: 2]
</code></pre>
<p>我现在做这件事的方式不是很优雅,有什么诀窍或妙计可以做到这一点吗</p>
<p>编辑:请注意,我不知道在我的代码中是否会遇到这种情况,这种情况有时会发生,所以我正在寻找一种动态的、一对所有的解决方案,而不仅仅是针对这种情况</p>
<p>编辑:
我的广义切片器,相当长</p>
<pre><code>def slicer(array, lower_, upper_):
n = len(array)
lower_ = lower_ % n # if negative, you get the positive equivalent. If > n, you get principal value.
roll = lower_
lower_ = lower_ - roll
upper_ = upper_ - roll
array_ = np.roll(array, -roll)
upper_ = upper_ % n
return array_[lower_: upper_]
</code></pre>