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