You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Pandas至2.1.1后使用Seaborn绘制FacetGrid时出现AttributeError: 'DataFrame' object has no attribute 'iteritems'错误

升级Pandas至2.1.1后使用Seaborn绘制FacetGrid时出现AttributeError: 'DataFrame' object has no attribute 'iteritems'错误

嘿,这个问题我之前帮同事排查过,根源其实很好捋清楚:

Pandas从2.0版本开始就正式移除了iteritems()方法,统一改用items()来遍历DataFrame的键值对了。而你当前用的Seaborn版本应该比较老旧,它的内部代码还在调用已经被弃用的iteritems(),自然就和新的Pandas 2.1.1不兼容,抛出了这个错误。

给你两个靠谱的解决办法:

  • 优先推荐:升级Seaborn到最新兼容版本
    直接在终端里运行这条命令,把Seaborn更新到适配Pandas 2.0+的版本:

    pip install --upgrade seaborn
    

    升级后再跑你的绘图代码,应该就能正常生成FacetGrid了,这也是最稳妥的长期解决方案。

  • 临时 workaround(不推荐长期用)
    如果因为工作限制暂时没法升级Seaborn,可以在代码开头加这么一行,给DataFrame临时补上iteritems方法,让它指向新的items():

    import pandas as pd
    pd.DataFrame.iteritems = pd.DataFrame.items
    

    这样旧版Seaborn调用iteritems()时,其实会执行新的items()方法,也能绕过这个错误,但这只是临时凑合用的办法,还是建议尽早升级Seaborn哦。

备注:内容来源于stack exchange,提问作者Will Lambert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 10:33:00