【问题标题】:pandas compute % of total for value where total is per unique column value [duplicate]熊猫计算总值的百分比,其中总值是每个唯一列值[重复]
【发布时间】:2021-10-09 19:01:41
【问题描述】:

给定以下 pandas 数据框:

        uid          field  value
0         0          Hello      5
1         2          Hello     15
2         0           Wave      2
3         1           Wave      8
4         3            Bye      6
5         1            Bye      4

我想获取以下数据框:

        uid          field  value
0         0          Hello    .25  # 5/20
1         2          Hello    .75  # 15/20
2         0           Wave    .20  # 2/10
3         1           Wave    .80  # 8/10
4         3            Bye    .60  # 6/10
5         1            Bye    .40  # 4/10

【问题讨论】:

  • df['value'] / df.groupby('field')['value'].transform('sum')

标签: python pandas


【解决方案1】:

你可以groupbytransform

df['value'] = df.groupby('field')['value'].transform(lambda x:x/x.sum())

【讨论】:

    猜你喜欢
    • 2021-08-03
    • 2018-04-19
    • 2021-03-16
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-01
    相关资源
    最近更新 更多