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)