OpenRefine - 跨列聚类

时间:2014-02-26 02:53:52

标签: openrefine

看起来,OpenRefine还不支持跨列聚类。

有没有人对如何根据'制造商'聚类'模型'提出任何建议,就像'城市'将基于'国家'一样(许多'斯普林菲尔德'可能存在于美国,但只有集群“ city“:'Springfield',如果相对'州'列是相同的)?相对列已经标准化。

2 个答案:

答案 0 :(得分:0)

一种简单的方法是创建一个列,它是模型+制造商的连接,连接字段上的集群,然后(如果需要)将两个部分再次分开。

答案 1 :(得分:0)

我对重复删除地址字符串有类似的要求。所以我创建了一个新列(比如说COMPLETE_ADDRESS)并使用下面的GREL表达式连接了STREET,CITY,PROVINCE,COUNTRY和ZIPCODE字段

cells["STREET"].value + " " + cells["CITY"].value + " " + cells["PROVINCE"].value + " " + cells["COUNTRY"].value + " " + cells["ZIPCODE"].value

然后我做了以下事情:

  1. 使用默认算法
  2. 分组新的COMPLETE_ADDRESS列
  3. 合并每个群集中的值(现在值是完美的重复)
  4. 永久对列进行排序。
  5. 做一个"空白"操作。
  6. 最后在COMPLETE_ADDRESS中选择非空值
  7. 话虽如此,在撰写本文时,没有合并独立列的功能。唯一的方法是将COMPLETE_ADDRESS分成适当的单独的列。在这种情况下,您将不得不使用更好的分隔符,例如pipe" |"符号不会与现有价值发生冲突。