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

如何使用Python代码无需绘图展示DataFrame中的不相关列

实现方案

以下是基于pandas的实现代码,核心思路是通过计算列间相关系数矩阵,筛选出与其他所有列相关度均低于指定阈值的列:

完整代码示例

import pandas as pd
import numpy as np

# 假设df为你已有的DataFrame
# 1. 仅保留数值列计算相关系数,非数值列无法计算相关性
num_df = df.select_dtypes(include='number')
# 2. 计算绝对值相关系数矩阵,默认用皮尔逊相关
corr_matrix = num_df.corr().abs()
# 3. 把对角线的自相关值(固定为1)替换为0,避免干扰判断
np.fill_diagonal(corr_matrix.values, 0)
# 4. 自定义相关性阈值,低于该值认为是不相关,可根据需求调整
corr_threshold = 0.1
# 5. 筛选出和其他所有列的最大相关系数都低于阈值的列
uncorrelated_columns = corr_matrix.columns[corr_matrix.max(axis=1) < corr_threshold].tolist()

# 输出结果
print(uncorrelated_columns)

可选调整说明

  • 若需要使用斯皮尔曼/肯德尔相关系数,修改corr()方法的参数即可,比如num_df.corr(method='spearman')
  • 阈值可根据业务场景调整:要求严格的不相关场景可设为0.05,宽松场景可设为0.2
  • 若你的DataFrame已经全是数值列,可以跳过第一步筛选数值列的步骤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:06:03