python - 将 Numpy 数组拆分为等长的子数组

标签 python arrays numpy

我有一个像这样的非常大的 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/

相关文章:

python - 为相同的字典值创建可交换元组键的最佳方法是什么?

php - 通过另一个数组对数组进行分组?

c++ - 通过传递的指针段错误初始化 char 数组

javascript - 如何从外部文件 JSON 创建 JAVASCRIPT ARRAY

python - 使用 scipy.signal 库中的 savgol_filter 平滑 Python 上的在线数据

python - 从 python 发出 HTTP 请求并等待很长时间才能响应

python - Django项目中 `from django.conf import settings`和 `import settings`有什么区别

Python redis-log错误

python - 提取 Nx3 数组的特定行,每列都满足条件

python - 绘制 3D numpy 数组的第三轴