我有一個資料框:
A B C v1 v2 v3
q 2 3 4 9 1
8 f 2 7 4 7
我想計算一個新列,它將具有(sqrt(sum(x^2))所有 v 列的 RMS。所以新的 df 將是:
A B C v1 v2 v3 v_rms
q 2 3 4 9 1 9.9
8 f 2 7 2 4 8.3
自從 sqrt(4^2 9^2 1^2) = 9.9, sqrt(7^2 2^2 4^2) = 8.3
最好的方法是什么?
uj5u.com熱心網友回復:
用于列,然后with和DataFrame.filterfor用于:vDataFrame.powsumsqrtpow1/2
df['v_rms'] = df.filter(like='v').pow(2).sum(axis=1).pow(1/2)
print (df)
A B C v1 v2 v3 v_rms
0 q 2 3 4 9 1 9.899495
1 8 f 2 7 2 4 8.306624
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/415722.html
標籤:
