Pandas 踩坑记录

  • Pandas pivot_table ValueError
    ValueError: The name None occurs multiple times, use a level number
    • 出现情况:
df = {...具体内容省略,不重要...}
ans = pd.pivot_table(data=df, index=['Segment'], columns=['Region'], values= ['Sales'], aggfunc={'Sales':['sum', 'mean']}, margins=True)

出现 ValueError: The name None occurs multiple times, use a level number 的错误提示。
可能是Pandas目前版本的Bug,还没有修复。
具体可以参考 【Github 这个issue】, 或者 【stackoverflow这个话题】
就是使用pivot_table 的时候,aggfunc 是一个对象且其中一个对象值是数组,并且margins=True的时候。就会出现这个错误。
暂时的解决方案是, 去掉参数 margin或者值设置为False,最后通过 ans.sum() 来获取这对应的汇总值 All 数据

df = {...具体内容省略...}
ans = pd.pivot_table(data=df, index=['Segment'], columns=['Region'], values= ['Sales'], aggfunc={'Sales':['sum', 'mean']}, margins=False)
AllData = ans.sum()

也不知道什么时候官方能修复。在修复之前只能暂时用这个办法了。
我也不知道具体发生的原因,但是目前这个方案确实可以解决。先凑合着用。
记录时间: 2021-6-29。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容