[英]How do I split an Array into 10 individual 2D arrays?
所以我有一个包含 10000 个笛卡尔坐标的大数组。
points_Cartesian = np.random.random((10000, 2))
我想将数组拆分为 x 坐标和 y 坐标,并将它们分成 1000 组。
目前,我有这段代码将它分成 1000 个块,但我不太清楚如何将 x 和 y 分成两个单独的数组。
x = [points_Cartesian[x: x + 1000] for x in range(0, len(points_Cartesian), 1000)]
我有一种感觉,我所缺少的只是一些我必须添加的简单代码,但我不能完全正确。
是的,你真的只遗漏了一小部分。 您可以通过以下方式访问 numpy 数组的列:
np_array[row,col]
所以你需要做的就是:
x = [points_Cartesian[x: x + 1000, 0] ...]
y = [points_Cartesian[x: x + 1000, 1] ...]
或总共(缩短打印):
import numpy as np
points_Cartesian = np.random.random((10, 2))
print(points_Cartesian)
x = [points_Cartesian[x: x + 2, 0] for x in range(0, len(points_Cartesian), 2)]
y = [points_Cartesian[x: x + 2, 1] for x in range(0, len(points_Cartesian), 2)]
print(x)
print(y)
出去:
[[0.38157813 0.04811649]
[0.29566672 0.20884901]
[0.01248476 0.46630594]
[0.13328297 0.13989798]
[0.70504099 0.20868818]
[0.07876386 0.5707934 ]
[0.04177351 0.82604852]
[0.76085304 0.04226348]
[0.33315792 0.81473101]
[0.30193693 0.24475062]]
[array([0.38157813, 0.29566672]), array([0.01248476, 0.13328297]), array([0.70504099, 0.07876386]), array([0.04177351, 0.76085304]), array([0.33315792, 0.30193693])]
[array([0.04811649, 0.20884901]), array([0.46630594, 0.13989798]), array([0.20868818, 0.5707934 ]), array([0.82604852, 0.04226348]), array([0.81473101, 0.24475062])]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.