我有一个像这样的非常大的 numpy 数组:
np.array([1, 2, 3, 4, 5, 6, 7 , ... , 12345])
我需要在另一个数组中创建 n
元素的子组(在示例中 n = 3
),如下所示:
np.array([[1, 2, 3],[4, 5, 6], [6, 7, 8], [...], [12340, 12341, 12342], [12343, 12344, 12345]])
我确实使用普通的 Python 列表实现了这一点,只是将子组附加到另一个列表。但是,我很难尝试在 numpy 中做到这一点。
我该怎么做?
谢谢!
最佳答案
您可以使用 np.reshape(-1, 3)
,其中 -1
表示“剩下的”。
>>> array = np.arange(1, 12346)
>>> array
array([ 1, 2, 3, ..., 12343, 12344, 12345])
>>> array.reshape(-1, 3)
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
...,
[12337, 12338, 12339],
[12340, 12341, 12342],
[12343, 12344, 12345]])
关于python - 将 Numpy 数组拆分为等长的子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043968/