簡體   English   中英

連接矩陣中每個 Numpy 數組的索引

[英]Concatenate indices of each Numpy Array in a Matrix

所以我有一個 Numpy 數組,里面有一堆 numpy arrays。 我想根據它們各自數組中的 position 對它們進行分組。

例如:如果矩陣是:

[[1, 2], [2, 3], [4, 5], [6, 7]]

然后代碼應該返回:

[[1, 2, 4, 6], [2, 3, 5, 7]]

這是因為1, 2, 4, 6都是它們各自 arrays 中的第一個元素,而2, 3, 5, 7是它們各自 arrays 中的第二個元素。

任何人都知道一些可以做到這一點的 function。 謝謝。

在 Python 中回答。

使用numpy 轉置應該可以解決問題:

a = np.array([[1, 2], [2, 3], [4, 5], [6, 7]])
a_t = a.T
print(a_t)
array([[1, 2, 4, 6],
       [2, 3, 5, 7]])

您的數據作為列表:

In [101]: alist = [[1, 2], [2, 3], [4, 5], [6, 7]]                                             
In [102]: alist                                                                                
Out[102]: [[1, 2], [2, 3], [4, 5], [6, 7]]

並作為 numpy 陣列:

In [103]: arr = np.array(alist)                                                                
In [104]: arr                                                                                  
Out[104]: 
array([[1, 2],
       [2, 3],
       [4, 5],
       [6, 7]])

“轉置”列表的標准習語是:

In [105]: list(zip(*alist))                                                                    
Out[105]: [(1, 2, 4, 6), (2, 3, 5, 7)]

使用 arrays,有一個轉置方法:

In [106]: arr.transpose()                                                                      
Out[106]: 
array([[1, 2, 4, 6],
       [2, 3, 5, 7]])

第一個數組是 (4,2) 形狀; 它的轉置是(2,4)。

暫無
暫無

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

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