我想通过将每个维度中其形状的上限减小一来减小任意等级的 numpy ndarray 的大小。数组值不应相对于其原始索引移动。
所以,
[N] becomes [N-1]
[N,M] becomes [N-1, M-1]
[N,M,P] becomes [N-1, M-1, P-1], etc.
这应该由一个事先不知道数组等级的函数来处理。
import numpy as np
def truncator( array ):
# flailing
return truncated_array
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> truncator(a)
array([[0, 1],
[3, 4]])
我考虑过reshape
,resize
没有成功。提前知道数组等级我知道如何使用类似的视图truncated_array = array[:-1,:-1]
,但我不知道如何使该概念适用于任意等级。有没有固定宽度的Elipses
东西?...
那会有所帮助。