当前位置 博文首页 > 司夏的博客:SpecificationError: nested renamer is not suppor

    司夏的博客:SpecificationError: nested renamer is not suppor

    作者:[db:作者] 时间:2021-07-29 09:45

    报错信息

    pandas.core.base.SpecificationError: nested renamer is not supported
    

    分析

    pandas在 1.0版本后,更新了API写法,原有的gropuby+agg分组+聚合函数写法有变更,但是这个报错提示文字实在让人摸不到头脑,在bing搜索中文只有csdn里一篇博文,但是我照着改还是不行。后来还是万能的github帮了忙。

    报错的代码片段

    代码的功能是对用户的交易信息表里的交易金额求其统计值(均值,标准差),如下:

    group_df = df.groupby('user')['amount'].agg({
            'user_amount_mean': 'mean',
            'user_amount_std': 'std'
            }).reset_index()
    

    报错的内容如下:

    Traceback (most recent call last):
      ...
      File "xxx\lib\site-packages\pandas\core\groupby\generic.py", line 246, in aggregate
        ret = self._aggregate_multiple_funcs(func)
      File "xxx\site-packages\pandas\core\groupby\generic.py", line 292, in _aggregate_multiple_funcs
        raise SpecificationError("nested renamer is not supported")
    pandas.core.base.SpecificationError: nested renamer is not supported
    

    可以运行的写法
    经过查找github,找到了可以运行(pandas==1.1.0)的写法,如下:

    group_df = df.groupby('user')['amount'].agg([
            ('user_amount_mean', 'mean'),
            ('user_amount_std', 'std'),
            ]).reset_index()
    

    参考链接

    False positive for “nested renamer is not supported” error #32156

    原文链接: https://blog.csdn.net/icelights/article/details/108047815

    cs