#python #pandas #sum #pandas-groupby
#python #pandas #сумма #pandas-groupby
Вопрос:
Я пытаюсь суммировать цифры в столбце «Сумма» по дате и где класс тот же.
Например, желаемый df приведен ниже, где я пытаюсь вычислить столбец «Общая сумма»:
- На сегодняшний день Имя класс Сумма Общая сумма
- 1/31/2020 Smith A 1 5
- 1/31/2020 Бирн А 1 5
- 1/31/2020 McDaid A 1 5
- 1/31/2020 Buba A 1 5
- 1/31/2020 Голландия A 1 5
- 1/31/2020 Прописная буква B 1 2
- 1/31/2020 Падмир Б 1 2
Я пробовал приведенный ниже, но он выдает результат NA
df['Total Amount'] = df.groupby('To Date' and 'Class')['Amount'].sum()
Ответ №1:
Вы должны предоставить сгруппированные столбцы в виде списка:
df_totals = df.groupby(['To Date', 'Class'])['Amount'].sum()
Обратите внимание, что это вернет фрейм данных другого измерения. Если вы хотите добавить новую строку со значением к исходной, вы можете использовать:
df["Total Amount"] = df.groupby(['To Date', 'Class'])['Amount'].transform(sum)