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

如何解决DataFrame.quantile中numeric_only参数弃用的FutureWarning?

解决DataFrame.quantile()的FutureWarning问题

这个警告是因为Pandas计划修改quantile()方法的numeric_only默认参数——当前默认值是True(仅计算数值列的分位数),未来版本会改成False(尝试对所有列计算,包括非数值列)。要消除警告,只需显式指定参数或提前筛选数值列:

方法1:显式指定numeric_only参数

把原来调用quantile()的代码,加上numeric_only=True参数,明确沿用当前的默认行为:

# 原代码(触发警告)
q1 = df.quantile(0.25)
q3 = df.quantile(0.75)

# 修改后(消除警告)
q1 = df.quantile(0.25, numeric_only=True)
q3 = df.quantile(0.75, numeric_only=True)

方法2:先筛选数值列再计算分位数

如果你的DataFrame包含非数值列,也可以先提取仅数值列的子集,再调用quantile():

# 筛选所有数值类型的列
numeric_df = df.select_dtypes(include=['number'])
# 对数值列计算分位数
q1 = numeric_df.quantile(0.25)
q3 = numeric_df.quantile(0.75)

两种方法都能彻底消除这个FutureWarning,根据你的代码场景选择即可。

内容的提问来源于stack exchange,提问作者Thando Johnson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:12:34