如何将沿轴 0 的 Numpy 数组划分为大小相等的 numpy 数组列表,其中子数组的目标数可以是任何值?

How do I divide a Numpy array along axis-0 into a list of equal sized numpy arrays where the goal number of sub-arrays can be any value?

例如数组x, np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

沿轴 0 分成 3 个“折叠”就像列表中的 [array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]]), array([[ 9, 10, 11, 12]]

In [1]: import numpy as np

In [2]: a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

In [3]: np.array_split(a, 3)
Out[3]: [array([[1, 2, 3, 4]]), array([[5, 6, 7, 8]]), array([[ 9, 10, 11, 12]])]

axis=0 是默认值,您也可以指定另一个轴

In [4]: np.array_split(a, 4, axis=1)
Out[4]:
[array([[1],
        [5],
        [9]]), array([[ 2],
        [ 6],
        [10]]), array([[ 3],
        [ 7],
        [11]]), array([[ 4],
        [ 8],
        [12]])]