У меня есть 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 не существует.
Что я сделал не так?
Поведение по умолчанию с API-интерфейсом pandas groupby состоит в том, чтобы grouper стал индексом в выходе.
Вы можете обойти это, указав as_index=False
при группировке. Для получения дополнительной информации см. Документы.
as_index
:boolean
, по умолчаниюTrue
Для агрегированного вывода возвращайте объект с метками группы в качестве индекса. Только для
DataFrame
данныхDataFrame
.as_index=False
- это фактически сгруппированный вывод SQL-стиля
Не применимо при группировке.