[英]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.