簡體   English   中英

如何像這樣用 numpy 重塑數組:

[英]How to reshape an array with numpy like this:

我有這個:

array([[0, 0, 1, 1, 2, 2, 3, 3],
       [0, 0, 1, 1, 2, 2, 3, 3]])

我想像這樣重塑我的數組:

array([[0, 0, 1, 1],
       [0, 0, 1, 1],
       [2, 2, 3, 3],
       [2, 2, 3, 3]])

我如何使用 python numpy 做到這一點?

您可以拆分和連接:

a = np.array([[0, 0, 1, 1, 2, 2, 3, 3],
              [0, 0, 1, 1, 2, 2, 3, 3]])

cols = a.shape[1] // 2
np.concatenate((a[:,:cols], a[:,cols:]))

#[[0 0 1 1]
# [0 0 1 1]
# [2 2 3 3]
# [2 2 3 3]]

您可以在重塑后簡單地交換行。

a= np.array([[0, 0, 1, 1, 2, 2, 3, 3],
       [0, 0, 1, 1, 2, 2, 3, 3]]).reshape(4,4)

a[[1,2]] = a[[2,1]]

Output:

array([[0, 0, 1, 1],
       [0, 0, 1, 1],
       [2, 2, 3, 3],
       [2, 2, 3, 3]])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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