gpt4 book ai didi

python - Numpy 将数组拆分为具有余数的相同大小的 block

转载 作者:行者123 更新时间:2023-12-03 16:10:17 25 4
gpt4 key购买 nike

是否有一个 numpy 函数可以将数组拆分为 大小为 m 的相等块 (不包括尺寸小于 m 的任何余数)。我看过函数np.array_split但这并不能让您通过指定块的大小来拆分。
我正在寻找的一个例子如下:

X = np.arange(10)
split (X, size = 3)
-> [ [0,1,2],[3,4,5],[6,7,8], [9] ]

split (X, size = 4)
-> [ [0,1,2,3],[4,5,6,7],[8,9]]

split (X, size = 5)
-> [ [0,1,2,3,4],[5,6,7,8,9]]

最佳答案

这是 np.split 的一种方式+ np.arange/range ——

def split_given_size(a, size):
return np.split(a, np.arange(size,len(a),size))
sample 运行 -
In [140]: X
Out[140]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [141]: split_given_size(X,3)
Out[141]: [array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8]), array([9])]

In [143]: split_given_size(X,4)
Out[143]: [array([0, 1, 2, 3]), array([4, 5, 6, 7]), array([8, 9])]

In [144]: split_given_size(X,5)
Out[144]: [array([0, 1, 2, 3, 4]), array([5, 6, 7, 8, 9])]

关于python - Numpy 将数组拆分为具有余数的相同大小的 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64100160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com