我有三個長度相等的 linspace 陣列:a、b 和 c。我想通過以下方式將陣列交錯在一起。
([a[0], b[0], c[0]], [a[1], b[1], c[1]], [a[2], b[2], c[2] ], 。 。 。 ETC。)
我見過許多交錯兩個或多個陣列的示例,但沒有將關聯的值組合在一起。我需要這種方式,因為在我的陣列中,a[0] 與 b[0] 和 c[0] 相關聯。當我列印生成的交錯陣列時,哪些值相互關聯,而不必從一開始就計數。
我環顧四周尋找不同的解決方案,但我無法找到將相關值組合在一起的交錯陣列的示例。
uj5u.com熱心網友回復:
- 添加一個大小為 1 的新軸作為每個陣列的第二個軸,并沿新軸連接它們。
import numpy as np
a, b, c = np.linspace(0, 4, 3), np.linspace(1, 5, 3), np.linspace(2, 6, 3)
print(a, b, c)
# [0. 2. 4.] [1. 3. 5.] [2. 4. 6.]
result = np.concatenate([x.reshape(x.shape[0], 1, *(x.shape[1:])) for x in (a, b, c)], axis=1)
print(result)
# [[0. 1. 2.]
# [2. 3. 4.]
# [4. 5. 6.]]
- 如果將陣列視為串列,也可以使用
zip.
result = np.array(list(zip(a, b, c)))
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/525027.html
標籤:Python数组交错空间
下一篇:嘗試遍歷陣列并注釋它們
