我从大字符串输入中删除重复项,创建了如下所示的余弦相似度矩阵。
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
答案 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)