python - 从 m 个项目的列表和一个 mxm 相似性数组创建一个元组列表
问题描述
我有一个包含 3 个项目的列表。
Items_list = ['a','b','c']
sklearn cosinesimilarities 函数为“a”、“b”和“c”项的所有组合提供了 3 x 3 矩阵的输出,如下所示:
similarities =[[1, 0.5, 0.2],
[0.5, 1, 0.6],
[0.2, 0.6, 1]]
我想创建一个包含两列的 Pandas DataFrame,如下所示: 所需输出:
Col1 Col2
0 a [(a, 1), (b, 0.5), (c, 0.2)]
1 b [(a, 0.5), (b, 1), (c, 0.6)]
2 c [(a, 0.2), (b, 0.6), (c, 1)]
解决方案
希望这就是你所需要的
import pandas as pd
item_list = ['a','b','c']
similarities =[[1, 0.5, 0.2],
[0.5, 1, 0.6],
[0.2, 0.6, 1]]
tuple_similarities = [list(zip(item_list, row)) for row in similarities]
df = pd.DataFrame({'Col1': item_list,
'Col2': tuple_similarities})
print(df)
输出:
Col1 Col2
0 a [(a, 1), (b, 0.5), (c, 0.2)]
1 b [(a, 0.5), (b, 1), (c, 0.6)]
2 c [(a, 0.2), (b, 0.6), (c, 1)]
推荐阅读
- java-8 - CompletableFuture - 如何在未来结果中使用局部变量
- css - 使用 Material UI 和 CSS 隐藏曲线标题下的抽屉
- amazon-web-services - 加速 AWS Lambda 执行
- flutter - 如何从用户那里获取正确的家庭住址?
- dll - 如何解决错误 0xc0000139
- python-3.x - “gym.envs.box2d”的 COLAB 上的 RL 问题没有属性“LunarLander”
- javascript - VueJS 中的路由验证
- python - 如何在python 3中打印红心
- c - 从“struct node”类型分配给“struct node *”类型时的类型不兼容
- c# - 当我在 c# 的下拉列表中使用数据绑定时,如何解决 System.InvalidOperationException