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

如何将相关性DataFrame转换为指定格式的三元组列表?

解决方案

你可以通过两种简洁方式实现需求,以下是具体代码:

先构造示例DataFrame(方便测试)

import pandas as pd

data = {
    'A': [1.000000, 0.932159, -0.976221],
    'B': [0.932159, 1.000000, -0.831509],
    'C': [-0.976221, -0.831509, 1.000000]
}
df = pd.DataFrame(data, index=['A', 'B', 'C'])

方法一:利用Pandas的stack()方法(简洁高效)

# 堆叠DataFrame并重置索引,将行列索引转为列
stacked_df = df.stack().reset_index()
# 重命名列方便后续处理
stacked_df.columns = ['row', 'col', 'correlation']
# 过滤掉行列名称相同的对角线元素(自相关的1.0值)
filtered_df = stacked_df[stacked_df['row'] != stacked_df['col']]
# 转换为目标格式的列表
result = filtered_df.values.tolist()

方法二:手动遍历索引和列(直观易懂)

result = []
# 遍历每一行的索引
for row_name in df.index:
    # 遍历每一列的名称
    for col_name in df.columns:
        # 跳过行列名称相同的情况
        if row_name != col_name:
            # 将[行名, 列名, 相关系数]添加到结果列表
            result.append([row_name, col_name, df.loc[row_name, col_name]])

执行任意一种方法后,result变量就会存储你需要的格式列表,输出结果与示例完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:41:12