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

使用corr()传入numeric_only参数触发TypeError报错求助

解决pandas corr()函数numeric_only参数报错的问题

问题原因

你遇到的报错是因为你的pandas版本过低——numeric_only参数是在pandas 1.5.0版本才新增的,低于该版本的pandas根本不支持这个参数,所以会提示"unexpected keyword argument"。另外你对参数的理解有误:这个参数并没有被弃用,在高版本pandas中它是有效可用的。

解决方案

有两种可行的解决方式:

  1. 升级pandas版本
    把pandas升级到1.5.0及以上版本,之后就能直接使用numeric_only=True参数:
df.corr(numeric_only=True)
  1. 手动筛选数值列(无需升级)
    如果不想升级版本,可以先筛选出数据集中的数值类型列,再计算相关性:
# 筛选所有数值类型的列
numeric_df = df.select_dtypes(include=['int64', 'float64', 'int32', 'float32'])
# 计算相关性矩阵
corr_matrix = numeric_df.corr()

或者更简洁的写法,用include='number'匹配所有数值类型:

numeric_df = df.select_dtypes(include='number')
corr_matrix = numeric_df.corr()

内容的提问来源于stack exchange,提问作者Bernardo Castanheira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:11:33