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

Python中基于关联相似度值合并异形列表构建DataFrame

Python实现指定结构DataFrame构建方案

核心逻辑

先把一维的相似度数值序列,按照行、列的对应顺序转换为18行7列的二维结构,再传入pandas的DataFrame构造函数,同时指定行索引和列名即可。

完整实现代码

首先安装依赖库(不想用numpy可以参考后面的无依赖写法):
pip install pandas numpy
然后运行以下代码:

import pandas as pd
import numpy as np

# 1. 定义基础输入数据
# 行索引(列表1)
row_labels = [
    'Limitation', 'Parameter', 'input', 'Feature', 'Dataset', 'Output',
    'EvaluationMetric', 'Algorithm', 'Task', 'HyperParameter', 'Layer',
    'Model', 'Operator', 'Function', 'OptimizationAlgorithm',
    'ActivationFunction', 'LeakyReluFunction', 'LossFunction'
]
# 列名(列表2)
col_labels = ['Input', 'Dataset', 'Algorithm', 'Operator', 'Task', 'HyperParameter', 'Output']
# 两两相似度数值序列
similarity_values = [
    0.4,0.75,0.75,0.65,0.65,0.050000000000000044,0.25,0.25,0.5,0.6,0.75,0.7,0.75,1.0,
    0.75,0.4,0.6,0.75,0.5,0.75,0.7,0.65,0.6,0.09999999999999998,0.25,0.30000000000000004,
    0.44999999999999996,0.55,0.6,0.6,0.55,0.6,0.6,0.35,1.0,0.55,0.4,0.6,0.6,0.65,0.6,0.4,
    0.25,0.25,0.44999999999999996,0.65,0.7,0.65,0.75,0.65,0.7,0.4,0.65,0.65,0.6,0.7,0.6,
    1.0,0.65,0.25,0.25,0.30000000000000004,0.5,0.55,0.6,0.75,0.7,0.75,0.7,0.25,0.55,1.0,
    0.35,0.8,0.75,0.65,0.6,0.0,0.15000000000000002,0.19999999999999996,0.44999999999999996,
    0.35,0.75,0.4,0.44999999999999996,0.5,0.35,0.30000000000000004,0.4,0.35,1.0,
    0.44999999999999996,0.35,0.6,0.30000000000000004,0.050000000000000044,0.15000000000000002,
    0.25,0.30000000000000004,0.55,0.6,0.85,0.7,0.75,1.0,0.35,0.6,0.7,0.35,0.7,0.7,0.7,0.7,
    0.09999999999999998,0.25,0.25,0.5
]

# 2. 转换一维数值为二维矩阵(逐行排列:每7个值对应一行)
score_matrix = np.array(similarity_values).reshape(len(row_labels), len(col_labels))

# 3. 构建目标DataFrame
df = pd.DataFrame(score_matrix, index=row_labels, columns=col_labels)

# 可选:打印前5行验证结果
print(df.head())

注意事项

  • 上述代码默认相似度序列是逐行排列:即前7个值对应第一行Limitation与7个列的相似度,接下来7个值对应第二行Parameter与7个列的相似度,以此类推。如果你的数值是逐列排列的,在reshape后加.T做转置即可。
  • 如果不想安装numpy,可以用列表切片替代numpy做维度转换,替换上述步骤2的代码即可:
# 无numpy依赖的二维矩阵生成方式
col_count = len(col_labels)
score_matrix = [similarity_values[i*col_count : (i+1)*col_count] for i in range(len(row_labels))]

运行后得到的df就是目标结构:行标签为列表1的内容,列名为列表2的内容,单元格为对应相似度值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 18:36:23