我正在嘗試通過將 6 篇文章與我從 API 獲得的文章串列進行比較來制作文章相似性檢查器。我使用余弦相似度將每篇文章與我用作基線的 6 篇文章一一進行比較。
我的資料框現在看起來像這樣:
| ID | 文章 | 余弦1 | 余弦2 | 余弦3 | 余弦4 | 余弦5 | 余弦6 | 相似的 |
|---|---|---|---|---|---|---|---|---|
| id1 | [第1條] | 0.2 | 0.5 | 0.6 | 0.8 | 0.7 | 0.8 | 真的 |
| id2 | [第2條] | 0.1 | 0.2 | 0.03 | 0.8 | 0.2 | 0.45 | 錯誤的 |
所以我想Similar在我的資料框中添加可以檢查每個余弦(1-6)的值的列,如果 6 個中至少有 3 個的值大于 0.5,則回傳 True,否則回傳 False。
有沒有辦法在python中做到這一點?
謝謝
uj5u.com熱心網友回復:
在 Python 中,您可以將True和False分別視為整數 1 和 0。
因此,如果您將所有相似性指標與 0.5 進行比較,您可以將結果布爾 DataFrame 沿列相加,以獲得True每行的比較次數。將這些數字與 3 進行比較會產生您想要的列:
cos_cols = [f"cosinesin{i}" for i in range(1, 7)]
df['Similar'] = (df[cos_cols] > 0.5).sum(axis=1) >= 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/526388.html
上一篇:在Python中進行聚合時在多個列上應用groupby
下一篇:PythonNump:隨機種子
