Вы можете добиться этого немного другим способом, хотя это двухстрочный процесс.
$ df
Approved PlaceTest
0 1 21
1 0 21
2 1 22
3 0 22
Сначала groupby
и sum
с новым столбцом:
$ df['Not Approved'] = df.groupby('PlaceTest')['Approved'].sum()
наконецснова groupby
с fillna
$ df = df.groupby('PlaceTest')['Approved', 'Not Approved'].sum().fillna("1").reset_index()
$ df
PlaceTest Approved Not Approved
0 21 1 1
1 22 1 1
Примечание: Работает с версиями панд 0.21.0
.
Для версии больше 0.21.0
следует использовать какследует для вышеупомянутого варианта использования:
>>> df.groupby('PlaceTest')['Approved', 'Not Approved'].max().fillna("1").reset_index()
PlaceTest Approved Not Approved
0 21 1 1
1 22 1 1