我想计算Pandas数据框中同一行的两个字符串之间的成对余弦相似度。
我使用了以下代码行:
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics.pairwise import cosine_similarity
pd.set_option('display.float_format', '{:.4f}'.format)
df = pd.DataFrame({'text1': ['The quick brown fox jumps over the lazy dog', 'The red apple', 'The big blue sky'],
'text2': ['The lazy cat jumps over the brown dog', 'The red apple', 'The big yellow sun']})
vectorizer = CountVectorizer().fit_transform(df['text1'] + ' ' + df['text2'])
cosine_similarities = cosine_similarity(vectorizer)[:, 0:1]
df['cosine_similarity'] = cosine_similarities
print(df)
它给了我以下输出,这似乎是不正确的:
有人能帮我找出我做错了什么吗?
谢谢你。
1条答案
按热度按时间q0qdq0h21#
我不是Maven,但有个办法。
其显示: