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')
我正在使用这个数据框:
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')