Как объединить сгруппированный и агрегированный df? - PullRequest
0 голосов
/ 28 мая 2019

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

Группировка транзакций по счету и месяцу и выполнение агрегированных расчетов

df1 = df.groupby(['AcctNr','Month']).sum().groupby(level=0).agg({'Amount': 'mean', 'median', max, 'std', percentile(75), iqr]})


df1.columns = ["_".join(x) for x in df1.columns.ravel()]

Это приводит к следующим результатам

df1.columns:



Index(['Amount_mean', 'Amount_median', 'Amount_max', 'Amount_std',
       'Amount_percentile_75', 'Amount_iqr', 'UpperBP'],
      dtype='object')

Когда я пытаюсь слиться с другим DF на AcctNr, я получаю:

df3 = df1.merge(df2, on='AcctNr')



KeyError: 'AcctNr'

1 Ответ

0 голосов
/ 28 мая 2019

Вам нужно сохранить номер счета в вашем df1, потому что без него вы не сможете присоединиться.

Если он вам не нужен в вашем последнем df, вы можете сбросить его с помощью

df3 = df3.drop("AcctNr", axis=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...