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