0

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

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

4

2 回答 2

0

一种简单的方法是创建一个列,该列是模型+制造商的串联,在连接字段上进行聚类,然后(如果需要)将两部分再次分开。

于 2014-02-26T03:44:08.960 回答
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. 使用默认算法对新的 COMPLETE_ADDRESS 列进行聚类
  2. 合并每个集群中的值(现在这些值是完全重复的)
  3. 对列进行永久排序。
  4. 执行“空白”操作。
  5. 最后只选择 COMPLETE_ADDRESS 中的非空值

话虽如此,在撰写本文时,还没有合并独立列的功能。这样做的唯一方法是将 COMPLETE_ADDRESS适当地拆分为单独的列。在这种情况下,您将不得不使用更好的分隔符,例如管道“|” 不会与现有值冲突的符号。

于 2017-02-11T03:13:01.487 回答