1
私は5行と430列のdfを持っています。 列内の各値に[5,4,3,2,1]
を掛けたければ、各列の値のsum
で除算し、対応する出力を新しい行として各列に追加します。結果の値で私のdfに行を追加する
私のDFは次のようになります。ここで
df1=
CO2 SO4 SE6 NH1
test1 4.0 1.0 8.0 0.0 ..
test2 10.0 1.0 3.0 4.0 ..
test3 11.0 6.0 4.0 1.0 ..
test4 0.0 11.0 0.0 1.0 ..
test5 1.0 6.0 0.0 1.0 ..
私は次の出力をしたいと思います:
値は以下の数学の操作で CO2 SO4 SE6 NH1
test1 4.0 1.0 8.0 0.0 ..
test2 10.0 1.0 3.0 4.0 ..
test3 11.0 6.0 4.0 1.0 ..
test4 0.0 11.0 0.0 1.0 ..
test5 1.0 6.0 0.0 1.0 ..
rank value value value value
:
(test1*5 + test2*4 + test3*3 + test4*2 + test5*1)/(test1+test2+test3+test4+test5)
これは何ですか私は試しました:
for i in range(len(df1.columns)):
rank= np.dot(df1.iloc[:,i],[5,4,3,2,1])/np.sum(df1.iloc[:,i])
(df1.iloc[:,i]).loc['rank']=rank
print(df1)
ただし、最初の入力が出力されます。 最後の行rank
でdfを返すにはどうすればよいですか?