【问题标题】:2 Different Data Frames + Percentage Calculation + Python2个不同的数据框+百分比计算+Python
【发布时间】:2022-12-07 19:35:30
【问题描述】:

存在类似的问题,但是找不到正确的答案。他们中的大多数都需要一个共同的提名人,而我没有。

我想从两个数据框中得到两个结果。

一种是从总计 (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() 和几个合并函数。但同样,不要有共同的提名人。

希望这可以帮助。谢谢。

【问题讨论】:

    标签: python pandas dataframe percentage accumulate


    【解决方案1】:

    利用:

    #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
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2021-12-11
      • 1970-01-01
      • 2012-09-16
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 2017-02-15
      • 2013-01-14
      相关资源
      最近更新 更多