пытаясь объединить несколько столбцов в группировке с помощью Python, аналогично SQL - PullRequest
0 голосов
/ 09 мая 2018

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

df_agg = pd.DataFrame(data = df.groupby(['House', 'cat1', 'cat2', 'cat3'])
['points'].mean()
['counts'].count()
['value'].sum()
['metric'].sum()
['metric2'].sum()
['metric3'].sum())  

1 Ответ

0 голосов
/ 09 мая 2018

Используйте agg для dictionary столбцов с агрегатными функциями, DataFrame конструктор не требуется:

d = {'points':'mean', 'counts':'count','value':'sum','metric':'sum','metric1':'sum','metric2':'sum'}
df_agg = df.groupby(['House', 'cat1', 'cat2', 'cat3']).agg(d).reset_index()
print (df_agg)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...