【问题标题】:How to get the below pandas output [duplicate]如何获得以下熊猫输出[重复]
【发布时间】:2022-01-28 16:15:37
【问题描述】:

如何使用 pandas 实现这一目标

inputindex  |country_id|country_name|  value | desc
1            2                 JAV       3         a
2            3                 GBR       7         b
3            4                 GBR       5         e
4            7                  BDI      6         r

输出

index | country_id|country_name| value| desc
1              2       JAV       3       a
2              3       GBR       12     b,e
4              7       BDI       6       r

【问题讨论】:

  • 简单的groupby+aggsumliststr.join
  • @mozway - 和first

标签: python pandas dataframe


【解决方案1】:

GroupBy.agg 与 3 个不同的功能一起使用 - GroupBy.firstsumjoin

df = (df.groupby('country_name', as_index=False, sort=False)
        .agg(country_id = ('country_id', 'first'),
             value = ('value','sum'),
             desc = ('desc', ','.join)))
print (df)
  country_name  country_id  value desc
0          JAV           2      3    a
1          GBR           3     12  b,e
2          BDI           7      6    r

【讨论】:

    猜你喜欢
    • 2018-01-07
    • 2020-05-17
    • 2020-11-29
    • 2018-09-26
    • 2019-05-21
    • 2022-01-23
    • 1970-01-01
    • 2021-05-23
    • 2020-03-07
    相关资源
    最近更新 更多