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?