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

Pandas相关矩阵仅显示整数类型列问题咨询(机器学习新手)

问题分析与解决方法

pandas 的 corr() 方法默认只对数值型列(int、float 这类)计算相关性,字符串、日期、分类类型的列会被自动跳过。你生成相关矩阵只看到 int 列,大概率是下面两种情况之一:

1. 其他列不是数值型

先运行这段代码查看所有列的数据类型:

print(df.dtypes)

如果输出里其他列是 object(字符串)、datetime64(日期)或者 category(分类),那这些列本来就不会被纳入相关矩阵计算,属于正常现象。

2. 其他数值列有问题

如果明明有 float 这类数值列却没出现在矩阵里,检查下这些列的缺失值情况:

print(df.isnull().sum())

corr() 会自动排除全是缺失值的列;如果某列缺失值太多,也可能导致它没被纳入计算(默认按成对方式排除缺失行,但全空列直接跳过)。

对应解决动作

  • 要是你本来就只想用 int 列算相关矩阵,那当前结果没问题;
  • 要是想包含更多数值列,先把非数值但实际是数字的列转成数值类型,比如字符串格式的数字转 int:
    df['col_name'] = df['col_name'].astype(int)
    
  • 确认类型正确后,直接调用 corr() 就能生成包含所有数值列的相关矩阵:
    corr_matrix = df.corr()
    

内容的提问来源于stack exchange,提问作者vijaya lakshmi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:05:26