假设我在python pandas.DataFrame中有两列:
col1 col2
item_1 158 173
item_2 25 191
item_3 180 33
item_4 152 165
item_5 96 108
获取这两列的余弦相似性的最佳方法是什么?
这就是你要找的东西吗?
from scipy.spatial.distance import cosine
from pandas import DataFrame
df = DataFrame({"col1": [158, 25, 180, 152, 96],
"col2": [173, 191, 33, 165, 108]})
print(1 - cosine(df["col1"], df["col2"]))
您还可以使用cosine_similarity
或sklearn.metrics.pairwise的其他相似性指标。
from sklearn.metrics.pairwise import cosine_similarity
cosine_similarity(df.col1, df.col2)
Out[4]: array([[0.7498213]])