Я пытаюсь взять pandas фрейм данных и сгруппировать его по двум столбцам, чтобы получить сумму для каждой уникальной комбинации в соответствующем столбце значений.
Dataframe выглядит следующим образом:
Charge Code Billing Number Amount
1250-001 500120 5000
1250-001 500120 -5000
1250-001 500220 300
1250-001 520320 400
1136-001 360220 700
1136-001 360220 -100
1207-001 070420 100
1207-001 070420 200
1207-001 070420 300
1207-001 070320 400
1090-001 900220 500
Я хотел бы сгруппировать dataframe по столбцам Charge code и Billing Number, чтобы получить сумму значений в столбце Amount. Если сумма оказывается равной нулю, ее не следует включать в кадр данных.
Нужный кадр данных будет выглядеть следующим образом:
Charge Code Billing Number Amount
1250-001 500220 300
1250-001 520320 400
1136-001 360220 600
1207-001 070420 600
1207-001 070320 400
1090-001 900220 500
Я предполагаю, что он должен выглядеть примерно так:
df_Paid.groupby(level=0)['Charge Code','Billing Number'].sum()
Использование решения:
df_Paid.groupby(['Charge Code','Billing Number'])['Amount'].sum().replace(0, np.nan).dropna()
возвращает:
Charge Code Billing Number Amount
1250-001 500220 300
520320 400
1136-001 360220 600
1207-001 070420 600
070320 400
1090-001 900220 500
, что выдает мне следующую ошибку при попытке переместить его на листы Google с помощью API Google:
IndexError: tuple index out of range
из-за пустого кода платежа строки в коде зарядки.