Работа через это: https://medium.com/@wangyuw / data-reshaping-with- pandas -explained-80b2f51f88d2
Все работает, но следующая строка кода генерирует предупреждение:
agg = long_df.reset_index().groupby(['RegionVariable', 'EXP'])[features].agg({'count': len, 'mean': np.mean})
Предупреждение, которое оно создает:
FutureWarning: using a dict with renaming is deprecated and will be removed
in a future version.
For column-specific groupby renaming, use named aggregation
>>> df.groupby(...).agg(name=('column', aggfunc))
return super().aggregate(arg, *args, **kwargs)
Я попытался «исправить» это с помощью:
agg = long_df.reset_index().groupby(['RegionVariable', 'EXP'])[features].agg(name=(('count', len), ('mean', np.mean)))
Но я получить эту ошибку:
KeyError: "Column '('count', <built-in function len>)' does not exist!"
Как len не может существовать во втором, но работает в первом?
Более конкретно, каков правильный синтаксис, чтобы это работало без генерации предупреждение об устаревании?
Версии:
Python: 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)]
NumPy: 1.18.1
Pandas: 0.25.3