Python 3.9.6中操作pandas的.loc/.iloc为何触发iteritems弃用警告?
问题本质
你遇到的警告并非pandas自身问题,而是PyCharm社区版内置的PyDev调试工具(路径/Applications/PyCharm CE.app/Contents/plugins/python-ce/helpers/pydev/_pydevd_bundle/pydevd_utils.py)中,仍在使用pandas已弃用的iteritems()方法。当你调用.loc或.iloc时,触发了调试工具对数据结构的遍历逻辑,从而弹出警告;后续控制台的任何命令都会触发调试工具的相关操作,导致警告重复出现,直到重置控制台。
解决办法
- 升级PyCharm到最新版本:JetBrains已经修复了这个兼容性问题,新版本的PyDev工具会将
iteritems()替换为items(),从根源解决警告。 - 临时屏蔽特定警告:如果暂时无法升级IDE,可在代码开头添加以下代码,针对性屏蔽该FutureWarning:
import warnings warnings.filterwarnings("ignore", category=FutureWarning, module="_pydevd_bundle.pydevd_utils")
- 关闭调试模式:如果不需要调试功能,直接以普通运行模式启动代码,也能避免触发该警告逻辑。
内容的提问来源于stack exchange,提问作者Hugo André
相关产品推荐
相关产品推荐

