我如何划分沿轴-0 Numpy数组到一个相等大小的Numpy数组的列表?



例如array

x = np.array([1, 2, 3, 4, 5, 6])

分为4个"就像一个列表

[array([1]), array([2]), array([3]), array([4])]

显然,要实现这一点,必须删除一些数据。在这种情况下,第5和第6元素是。我如何将任何数组分割成大小相等的子数组,即使它们不容易被必要的子数组数量整除,并且必须删除数据?

就像你说的,在分区之前修剪数组是很简单的:

n = 4
x[:len(x)//n*n].reshape(n,-1)

输出:

array([[1],
[2],
[3],
[4]])

使用np.split和模来提前仔细修剪数组:

N = 4
x = np.arange(6)
trim = len(x) % N or None
result = np.split(x[:trim], N)

如果len(x)不是N的倍数,则trim是正确的。如果是,模将为零,or None将负责后续的切片。

相关内容

  • 没有找到相关文章

最新更新