我正在使用 numpy 來管理不同的陣列。我有一個 python 函式,它回傳給我這個陣列陣列:
res = [[[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]]]
我想從這個res變數中提取的是這個:
a = [1 2 1 2 1 2 1 2 1 2]
b = [5 6 5 6 5 6 5 6 5 6]
c = [7 8 7 8 7 8 7 8 7 8]
這個想法是將每個陣列的第一個陣列提取并合并為a,第二個陣列為b等等。
你能幫我實作這個結果嗎?非常感謝!
uj5u.com熱心網友回復:
您可以使用numpy.hstack然后使用元組解包。
In [7]: a, b, c = np.hstack(res)
In [8]: a
Out[8]: array([1, 2, 1, 2, 1, 2, 1, 2, 1, 2])
In [9]: b
Out[9]: array([5, 6, 5, 6, 5, 6, 5, 6, 5, 6])
In [10]: c
Out[10]: array([7, 8, 7, 8, 7, 8, 7, 8, 7, 8])
uj5u.com熱心網友回復:
鑒于:
import numpy as np
res = np.array([[[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]], [[1, 2], [5, 6], [7, 8]]])
a = res[:, 0]
b = res[:, 1]
c = res[:, 2]
print(a)
print(b)
print(c)
輸出:
[[1 2]
[1 2]
[1 2]
[1 2]
[1 2]]
[[5 6]
[5 6]
[5 6]
[5 6]
[5 6]]
[[7 8]
[7 8]
[7 8]
[7 8]
[7 8]]
或者:
print(a.flatten())
print(b.flatten())
print(c.flatten())
輸出:
[1 2 1 2 1 2 1 2 1 2]
[5 6 5 6 5 6 5 6 5 6]
[7 8 7 8 7 8 7 8 7 8]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/334217.html
上一篇:如何根據條件在PandasDataFrame的單元格中的字典中創建新的鍵值對
下一篇:pip卸載不會完全洗掉包
