从余弦相似度矩阵熊猫数据帧中删除重复数据

时间:2018-12-12 06:24:23

标签: python pandas dataframe duplicates cosine-similarity

我从大字符串输入中删除重复项,创建了如下所示的余弦相似度矩阵。

          0         1         2         3         4
0  1.000000  0.515303  0.741283  0.035133  0.076743
1  0.920776  1.000000  0.153878  0.024261  0.845839
2  0.273931  0.842390  1.000000  0.502877  0.962273
3  0.407020  0.409827  0.096752  1.000000  0.886368
4  0.315340  0.618172  0.335455  0.170406  1.000000

请有人帮助我使用截止日期删除重复的行, 就像索引0是且2具有74%的相似度一样,我只想保留0(这是第一个)

现在,我已经使用data [data <= 0.6]创建了另一个数据帧,以将相似度限制为60%,并且输出是值大于0.6(包括对角线)的数据帧。

          0         1         2         3         4
0       NaN  0.515303       NaN  0.035133  0.076743
1       NaN       NaN  0.153878  0.024261       NaN
2  0.273931       NaN       NaN  0.502877       NaN
3  0.407020  0.409827  0.096752       NaN       NaN
4  0.315340       NaN  0.335455  0.170406       NaN

预期输出是该列中没有NaN值的数据框

          0         1         2         3         4
0       NaN  0.515303       NaN  0.035133  0.076743
3  0.407020  0.409827  0.096752       NaN       NaN

1 个答案:

答案 0 :(得分:0)

知道了,谢谢大家的快速回复

l = []
for _, row in data[data <= 0.6].iterrows():
    for value in data.columns[row.isnull()].tolist():
        if value not in l:
            l.append(value)
data.drop(index = l)