Я пытаюсь скопировать этот SQL код в Python:
select column_1, column_2, column_3,
sum(column_4) as sum_column_4, sum(column_5) as sum_column_5
from df
group by 1,2,3;
Другими словами, мне нужно создать этот фрейм данных:
column_1 column_2 colunn_3 column_4 column_5
AA BB CC 5 3
AA BB CC 5 0
AA BB CC 7 3
AA DD EE 5 2
AA DD EE 7 1
DD EE FF 2 8
DD EE FF 1 0
Похоже на это:
column_1 column_2 colunn_3 sum_column_4 sum_column_5
AA BB CC 17 6
AA DD EE 12 3
DD EE FF 3 8
Кроме того, я пытаюсь сделать это как можно более простым, потому что на самом деле у меня много столбцов. И мне нужно иметь новый Pandas фрейм данных в качестве вывода. Итак, вот что я попробовал:
df.groupby(list(df.columns)[0:3]).sum()
Это почти там, проблема в том, что вывод становится странным, что-то вроде:
column_1 column_2 colunn_3 sum_column_4 sum_column_5
AA BB CC 17 6
DD EE 12 3
DD EE FF 3 8
Я пробую разные вещи, которые Я видел в других сообщениях, таких как Pandas DataFrame Группировать по двум столбцам и получить счетчики и Python Pandas сгруппировать по нескольким столбцам, что означает другое - нет группы по объекту но это не сработало. Так что, если кто-нибудь может мне помочь.