Проходя Вопрос по SO и моделируя ответ, я обнаружил странное поведение между версиями Pandas 0.21.0
. При использовании fillna
вместе с sum()
для столбцов все работает как нужно. Однако,это приводит к 0.0
выше версии 0.21.0
.
Структура DataFrame:
>>> df = pd.DataFrame({'PlaceTest':[21,21,22,22], 'Approved':[1,0,1,0]})
>>> df
PlaceTest Approved
0 21 1
1 21 0
2 22 1
3 22 0
Создание нового столбца с groupby
при использовании sum()
..
>>> df['Not Approved'] = df.groupby('PlaceTest')['Approved'].sum()
>>> df
PlaceTest Approved Not Approved
0 21 1 NaN
1 21 0 NaN
2 22 1 NaN
3 22 0 NaN
Теперь, при использовании версии 0.21.0
, он получает желаемый результат следующим образом:
>>> 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.23.3
. Ничего не получается.1025 *
>>> df.groupby('PlaceTest')['Approved', 'Not Approved'].sum().fillna("1").reset_index()
PlaceTest Approved Not Approved
0 21 1 0.0
1 22 1 0.0
Есть ли какие-либо изменения в функциональности более широкой версии панд при использовании sum()
вместе с методом fillna
?
Буду признателен за любые комментарии экспертов по этому поводу, возможно, они естьно, кажется, сейчас у меня в голове.
Справочный вопрос идет сюда