我有以下陣列,有沒有使用 numpy 或陣列的快速方法?
[ ['one','two','three'] [1,2,3] ]
需要將其轉換為以下
[ ['one',1], ['two',2], ['three',3] ]
numpy 或陣列
uj5u.com熱心網友回復:
q = [['one', 'two', 'three'], [1,2,3]]
a = [[s, n] for s, n in zip(*q)]
# a = [['one', 1], ['two', 2], ['three', 3]]
uj5u.com熱心網友回復:
您可以使用zip.
a = [['one','two','three'],[1,2,3]]
new_a = [[i, j] for i, j in zip(a[0],a[1])]
print(new_a)
[['one', 1], ['two', 2], ['three', 3]]
額外的
根據評論和答案,我突然對@lhopital的答案,我的答案和@moe提供的答案中的表演時間感到好奇。所以我創建了一個包含 260 個字符和 260 個值的二維串列。
%timeit [[s, n] for s, n in zip(*a)]
40.2 μs ± 2.21 μs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%timeit [[i, j] for i, j in zip(a[0],a[1])]
27.2 μs ± 1.15 μs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
a = np.array(a)
%timeit a.T
146 ns ± 2.47 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
顯然,np.transpose是最快的使用方法。
uj5u.com熱心網友回復:
a = np.array([['one','two','three'], [1,2,3]])
aT = a.T
print(aT)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/451743.html
上一篇:numpymatmul不計算矩陣
