如何计算数据帧行的顺义余弦相似度

时间:2018-04-22 15:02:26

标签: python dataframe row cosine-similarity

你好我想知道假设我有一个python数据帧,我想计算数据帧第一行与数据帧剩余行之间的余弦相似度。任何人都可以请帮助

1 个答案:

答案 0 :(得分:0)

假设您的数据框有数值, 这里'你'指的是第一行数据帧,

import pandas as pd
import numpy as np
u = df.iloc[0]
cos_sim_list = []
norm_u = np.linalg.norm(u)
for i in range(1, df.shape[0]):
    v = df.iloc[i]
    dot = np.dot(u, v)
    norm_v = np.linalg.norm(v)
    cos_sim = (dot/norm_u * norm_v)
    cos_sim_list.append(cos_sim)

cos_sim_list