簡體   English   中英

如何將數組拆分為 10 個單獨的二維數組?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM