pandas 2个不同的数据框+百分比计算+ Python

tktrz96b  于 2022-12-09  发布在  Python
关注(0)|答案(1)|浏览(198)

有类似的问题存在,但不能找到正确的答案。他们中的大多数需要一个共同的提名者,我没有。
我想从两个数据框中得到两个结果。
一种是从df1的总数中得到df2中每一行的百分比,另一种是累计百分比。

df1
a
1875

df2
b   c
aaa 125
bbb 250
ccc 500
ddd 1000

Required outcome. 

b   c   Outcome 1   Outcome 2
aaa 125     6.67%       100.00%
bbb 250    13.33%        93.33%
ccc 500    26.67%        80.00%
ddd 1000   53.33%        53.33%

我试过df1.eq(df2.values).mean()和几个合并函数,但还是没有一个共同的命名器。
希望这能帮上忙谢谢。

xriantvc

xriantvc1#

用途:

#get scalar from first DataFrame
a = df1.loc[0, 'a']

#divide by scalar and multiple by 100
df['Outcome 1'] = df['c'].div(a).mul(100)
#create cumulative sum in swapped order of rows
df['Outcome 2'] = df['Outcome 1'].iloc[::-1].cumsum()
print (df)
     b     c  Outcome 1   Outcome 2
0  aaa   125   6.666667  100.000000
1  bbb   250  13.333333   93.333333
2  ccc   500  26.666667   80.000000
3  ddd  1000  53.333333   53.333333

相关问题