Я использую panda версии 0.23.0.Я хочу использовать группу фреймов данных для создания новых агрегированных столбцов, используя функции [lambda].
Мой фрейм данных выглядит как
ID Flag Amount User
1 1 100 123345
1 1 55 123346
2 0 20 123346
2 0 30 123347
3 0 50 123348
Я хочу создать таблицу, которая выглядит как
ID Flag0_Count Flag1_Count Flag0_Amount_SUM Flag1_Amount_SUM Flag0_User_Count Flag1_User_Count
1 2 2 0 155 0 2
2 2 0 50 0 2 0
3 1 0 50 0 1 0
здесь:
- Flag0_Count является счетчиком Flag = 0
- Flag1_Count является счетчиком Flag = 1
- Flag0_Amount_SUM является SUNM изсумма, когда флаг = 0
- Flag1_Amount_SUM - это SUNM суммы, когда флаг = 1
- Flag0_User_Count - количество отдельных пользователей, когда флаг = 0
- Flag1_User_Count - количество отдельных пользователей, когда флаг= 1
Я пробовал что-то вроде
df.groupby(["ID"])["Flag"].apply(lambda x: sum(x==0)).reset_index()
, но он создает новый новый фрейм данных.Это означает, что мне придется сделать это для всех столбцов, и они объединят их в новый фрейм данных.Есть ли более простой способ сделать это?