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?