从 m 项列表和 m x m 相似性数组创建元组列表
Create a list of tuples from a list of m items and an m x m array of similarities
我有 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)]
我有 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)]