【问题标题】:Group by sum and transpose in pandas按总和分组并在熊猫中转置
【发布时间】:2022-06-22 22:06:51
【问题描述】:

我有一个如下图所示的数据框。

id     type           d_count    d_amt    c_count    c_amt
1      restaurant     1          10       NaN        NaN
1      restaurant     3          8        NaN        NaN
1      fees           NaN        NaN      2          100
1      health         1          20       NaN        NaN
1      restaurant     NaN        NaN      2          15
1      restaurant     1          10       NaN        NaN
1      restaurant     NaN        NaN      1          3
2      wage           NaN        NaN      1          10
2      wage           NaN        NaN      3          30
2      fees           NaN        NaN      2          100
2      health         1          20       NaN        NaN
2      fees           NaN        NaN      2          15
2      fees           1          10       NaN        NaN
2      fees           1          3        NaN        NaN

从上面我想准备下面的数据框。

说明:为每个客户计算他们不同的type 总金额

预期输出:

df1:

id   restaurant_d_amt_sum   health_d_amt_sum   fees_d_amt_sum
1    28                     20                 NaN
2    NaN                    20                 13

df2:

id    fees_c_amt_sum      restaurant_c_amt_sum      wage_c_amt_sum
1     100                 18                        NaN
2     115                 NaN                       40

【问题讨论】:

  • 你为什么不考虑?

标签: python-3.x pandas dataframe pandas-groupby


【解决方案1】:
df.groupby(['id','type'])['d_amt'].sum().unstack().add_suffix('d_amt_sum')
type    feesd_amt_sum   healthd_amt_sum     restaurantd_amt_sum     waged_amt_sum
id              
1   0.0     20.0    28.0    NaN
2   13.0    20.0    NaN     0.0
df.groupby(['id','type'])['c_amt'].sum().unstack().add_suffix('c_amt_sum')
type    feesc_amt_sum   healthc_amt_sum     restaurantc_amt_sum     wagec_amt_sum
id              
1   100.0   0.0     18.0    NaN
2   115.0   0.0     NaN     40.0

【讨论】:

    猜你喜欢
    • 2021-01-06
    • 2018-10-25
    • 2017-02-06
    • 2016-11-17
    • 1970-01-01
    • 2021-02-23
    • 2020-03-13
    • 2020-10-12
    • 2020-09-04
    相关资源
    最近更新 更多