我有一个包含许多列和行的数据框架,完全未排序。我希望对每列中的行进行排序,以便每行中的每个元素都位于所有其他列中最相似的元素旁边。我知道this解决方案,但我希望在多个列表/列之间进行比较,就像排序算法一样
col1 col2 col3 col4
0 Some Black Red Sky
1 Blue Green Floor Bucket
2 Blacky Same Green Rad
我们考虑第一个字母(第一个2?3?)必须是一个精确的命中。这将导致 col1 col2 col3 col4
0 Some Same Sky #Some and Same are very similar, Sky is the closest in col4
1 Blue #No match for Blue
2 Blacky Black Bucket #Black,Blacky are similar, and more similar to Bucket
3 Green Green #Exact match
4 Red Rad #Similar Match
5 Floor #No word started with F in any other column
为了解决这个问题,我想到了以下两种方法之一:
以上都有问题,在所有情况下,我都需要做一些手动检查(这很好)
在步骤1中,当标识IDS时,IDS必须是唯一的,因此考虑所有单词不同。两个词是否相同并不重要;无论如何,给他们不同的身份证
在步骤2中,您需要在与同一列中的成对单词对应的单元格中输入一些默认值;你选择的值并不重要
在步骤4中,可以将约束改写为“每列中每行仅出现一次”,这是一个简单的线性约束
相关问题 更多 >
编程相关推荐