使用pd.reset_option('all')触发FutureWarning该如何解决
解决Pandas reset_option触发弃用警告的正确方案
这个警告的触发原因是Pandas 2.0及以上版本将mode.use_inf_as_null参数标记为弃用,而pd.reset_option('all')会遍历所有已注册的历史参数执行重置,就会触发该FutureWarning,单独调整use_inf_as_na无效是因为警告由全量重置的逻辑触发,和你当前的参数配置无关。
根据你的需求(仅恢复DataFrame行列显示的默认截断格式),推荐按优先级选择以下方案:
方案1:仅重置显示类参数(无警告,最适配需求)
不需要重置全量参数,直接指定重置显示相关配置即可,完全不会触发弃用警告:# 批量重置所有display开头的显示类参数 pd.reset_option('^display.', regex=True)如果需要单独调整特定显示参数,也可以分别执行:
pd.reset_option('display.max_rows') pd.reset_option('display.max_columns') pd.reset_option('display.max_colwidth') pd.reset_option('display.width')方案2:重置全量参数时过滤特定警告
如果你确实需要重置所有参数,可通过上下文管理器临时屏蔽该弃用警告,重置后手动配置新的inf参数即可:import warnings with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=FutureWarning, message=".*use_inf_as_null.*") pd.reset_option('all') # 按自身需求设置新版inf处理参数 pd.set_option('mode.use_inf_as_na', False)
内容的提问来源于stack exchange,提问作者cosmo nova
相关产品推荐
相关产品推荐

