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

使用pandas.DataFrame.corr()生成相关矩阵仅返回1列的问题求助

解决pandas.DataFrame.corr()仅返回1列的问题
  • 排查列数据类型:corr()默认只对**数值型列(int、float类型)**计算相关系数。如果你的DataFrame里只有1列是数值类型,其余为字符串、object等非数值类型,就只会返回这一列的相关矩阵。

    • 执行df.dtypes查看所有列的类型,快速定位数值列数量。
  • 校验数据有效性:若DataFrame看似有多列,但其他列全是缺失值、非数值内容,也会导致corr()仅返回单列结果。

    • 用df.describe()查看数值列的统计信息,确认是否有多列满足计算条件。
  • 转换非数值列:如果目标列是object类型但实际存储数值(比如带单位的数字),先做类型转换:

    df['需要转换的列'] = pd.to_numeric(df['需要转换的列'], errors='coerce')
    

    转换完成后再调用df.corr()即可生成完整相关矩阵。

  • 指定数值列子集:如果只需要计算部分列的相关性,可直接筛选数值列后计算:

    numeric_cols = df.select_dtypes(include=['int64', 'float64']).columns
    df[numeric_cols].corr()
    

内容的提问来源于stack exchange,提问作者Grant McCurdy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:05:34