Pandas 使用 lambda 的聚合警告(FutureWarning:不推荐使用带重命名的字典)
Pandas aggregation warning with lambdas (FutureWarning: using a dict with renaming is deprecated)
我的问题与 类似,但是我确实需要重命名列,因为我使用函数聚合数据:
def series(x):
return ','.join(str(item) for item in x)
agg = {
'revenue': ['sum', series],
'roi': ['sum', series],
}
df.groupby('name').agg(agg)
因此,我有几组同名的列:
在我删除较高的列级别后变得完全无法区分:
df.columns = df.columns.droplevel(0)
那么,如何为我的列保留唯一的名称?
对 flatten
列名称使用 map
:
df.columns = df.columns.map('_'.join)
我的问题与
def series(x):
return ','.join(str(item) for item in x)
agg = {
'revenue': ['sum', series],
'roi': ['sum', series],
}
df.groupby('name').agg(agg)
因此,我有几组同名的列:
在我删除较高的列级别后变得完全无法区分:
df.columns = df.columns.droplevel(0)
那么,如何为我的列保留唯一的名称?
对 flatten
列名称使用 map
:
df.columns = df.columns.map('_'.join)