Сумма сгруппированных равна 0, когда Min_count = 1 - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть фрейм данных, который содержит повторяющиеся имена столбцов.Теперь я пытаюсь объединить дубликаты столбцов в один столбец с помощью следующей команды (следующий кадр данных предназначен только для демонстрации. Он не содержит повторяющихся имен столбцов, но такая же проблема будет возникать и с дублирующимся именем столбца).

d=pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
d['col2']=d['col2'].astype(str)
d['col1']=np.nan
d=d.groupby(lambda x:x, axis=1).sum(min_count=1)


the output is:
   col1  col2
0   0.0   3.0
1   0.0   4.0

Но я ожидаю

the output is:
   col1  col2
0   Nan   3.0
1   Nan   4.0

Я надеюсь, что при использовании min_count = 1 панды вернут NaN, когда все суммируемые столбцы равны NaN.Однако теперь он возвращает 0 вместо NaN.Есть идеи почему?

1 Ответ

0 голосов
/ 27 ноября 2018

Это зависит от вашего номера версии панд, когда вы устанавливаете min_count = 1.Если у вас версия <0.22.0, то вы действительно получите np.nan, если будет меньше 1 не-значений.Начиная с версии 0.22.0 и выше значение по умолчанию было изменено на 0, когда используются только значения na. </p>

Это также объясняется в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...