Pandas:将列值与另一列中的特定值相加

Pandas: sum column values against specific value in another column

我正在使用这个数据框:

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),但好像不行。

你很接近,需要在 groupby:

之后指定第 Amount
df['MonthlyValue'] = df.groupby('Year-Month')['Amount'].transform('sum')