Pandas group by сбрасывает размер, по которому выполняется группировка

1

У меня есть 2 панда данных. Каждый из них имеет измерение и метрику. Мне нужно агрегировать метрику на основе измерения в каждой таблице и объединить их в зависимости от измерения. Так:

A
dim1 met1
 a     100
 a     200
 b      50

B
    dim2 met2
     a     70
     a     20
     c      50

Я использую pandas.groupby() на каждом фрейме данных, но когда я проверяю результат groupby, выполняя.dtypes, я вижу, что dim1 dim2 больше не присутствует в агрегированном выходе.

Итак, теперь, когда я пытаюсь присоединиться на основе dim1 = dim2, я получаю сообщение о том, что dim1, dim2 не существует.

Что я сделал не так?

Теги:
pandas

1 ответ

1
Лучший ответ

Поведение по умолчанию с API-интерфейсом pandas groupby состоит в том, чтобы grouper стал индексом в выходе.

Вы можете обойти это, указав as_index=False при группировке. Для получения дополнительной информации см. Документы.

as_index: boolean, по умолчанию True

Для агрегированного вывода возвращайте объект с метками группы в качестве индекса. Только для DataFrame данных DataFrame. as_index=False - это фактически сгруппированный вывод SQL-стиля

Не применимо при группировке.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню