Pandas groupby наследует группы от родительского фрейма данных? - PullRequest
3 голосов
/ 08 января 2020

Я пытаюсь сгруппировать по категориальной переменной installation_id. По некоторым причинам в groupby, похоже, входят группы, которых нет в самом фрейме данных. Например:

df.groupby('installation_id').size() # Length of each group

installation_id
0001e90f     0
000447c4     0
0006a69f    16
0006c192     7
0009a5a9     0
            ..

Я бы не ожидал, что в какой-либо группе будет 0 строк.

Этот фрейм данных был создан как подмножество большего фрейма данных, поэтому я предполагаю, что он наследует группы из более крупного датафрейма? Как предотвратить это, чтобы получить ожидаемый результат?

Я пробовал df = df.copy() перед группировкой, и это не имеет значения.

Спасибо за любую помощь, я относительно новичок в этом!

1 Ответ

4 голосов
/ 08 января 2020

Это ФУНКЦИЯ группировки по категориальным данным.

Вместо этого используйте:

df.groupby(df['installation_id'].to_numpy()).size()

ИЛИ БОЛЬШЕ ПРОСТО из ALollz (удалит, если сообщения ALollz отвечают )

df.groupby('installation_id', observed=True).size()
...