【问题标题】:Pandas: sum column values against specific value in another column熊猫:将列值与另一列中的特定值相加
【发布时间】:2021-08-30 02:59:30
【问题描述】:

我正在使用这个数据框:

InvoiceNo    Amount    Year-Month
1            100       2019-01
2            125       2019-02
3            200       2019-02
4            300       2019-03
5            120       2019-03
6            350       2019-03
7            500       2019-04
8            230       2019-04
9            100       2019-04
10           200       2019-05

我想总结所有相同月份的值,并显示具有这些月值的新列,如下所示:

InvoiceNo    Amount    Year-Month    MonthlyValue
1            100       2019-01       100
2            125       2019-02       325
3            200       2019-02       325
4            300       2019-03       770
5            120       2019-03       770
6            350       2019-03       770
7            500       2019-04       830
8            230       2019-04       830
9            100       2019-04       830
10           200       2019-05       200

我尝试了df['MonthlyValue'] = df.groupby(['Year-Month'])['Year-Month'].transform(sum),但它似乎不起作用。

【问题讨论】:

    标签: python pandas dataframe group-by sum


    【解决方案1】:

    你很接近,需要在groupby之后指定列Amount

    df['MonthlyValue'] = df.groupby('Year-Month')['Amount'].transform('sum')
    

    【讨论】:

    • 工作就像一个魅力!谢谢@jezrael
    猜你喜欢
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    相关资源
    最近更新 更多