美文网首页
Pandas 踩坑记录

Pandas 踩坑记录

作者: 金鱼叔叔 | 来源:发表于2021-06-29 12:16 被阅读0次
    • 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。

    相关文章

      网友评论

          本文标题:Pandas 踩坑记录

          本文链接:https://www.haomeiwen.com/subject/zxghultx.html