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

如何在Python中生成带列名的相关系数值DataFrame

把相关系数整理为DataFrame的解决方案

先说说你之前失败的问题

你创建空DataFrame后输出为空,是因为没把循环计算出来的列名和相关系数正确收集并传入DataFrame,光有空架子当然没数据。

方法1:手动收集数据再构建DataFrame

先把列名和对应的相关系数分别存到列表里,最后用这两个列表生成DataFrame:

import pandas as pd

# 初始化两个空列表,用来存列名和对应的相关系数
col_names = []
corr_results = []

# 循环计算并收集数据
for column in df:  # df是你的列名列表
    corr_val = ds[column].corr(ds["something"])
    col_names.append(column)
    corr_results.append(corr_val)

# 生成目标DataFrame
final_df = pd.DataFrame({
    "列名": col_names,
    "相关系数": corr_results
})

# 如果想要和示例一样把列名当索引,加这行
final_df.set_index("列名", inplace=True)
print(final_df)

方法2:用pandas内置函数省掉循环

pandas有个corrwith方法,可以直接计算所有列和指定列的相关系数,一步到位:

import pandas as pd

# 直接计算所有列与"something"的相关系数,返回一个Series
corr_series = ds.corrwith(ds["something"])

# 把Series转成DataFrame
final_df = corr_series.to_frame(name="相关系数")
# 如果需要单独的列名列,就用下面这行
# final_df = corr_series.reset_index().rename(columns={"index": "列名", 0: "相关系数"})

print(final_df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:12:09