转换频率较低的值

Transforming less frequent values

假设我通过 'File Reader' 节点读取的 csv 有以下列:

id, name, city, income

阅读后,我注意到 'city' 列包含大量唯一值。我想:

  1. 了解哪些值是 'k' 'city'
  2. 最常见的值
  3. 修改那些不是 'k' 最常见的内容以包含 'other'

示例:

id, name, city, income
1, Person 1, New York, 100.000 
2, Person 2, Toronto, 90.000
3, Person 3, New York, 50.000
4, Person 4, Seattle, 60.000

选择 k 为 1,我想生成以下内容 table:

id, name, city, income
1, Person 1, New York, 100.000 
2, Person 2, Other, 90.000
3, Person 3, New York, 50.000
4, Person 4, Other, 60.000

这是因为 'New York' 是 'city' 在原始 table 中最常见的“1”值。

你知道我如何使用 Knime 做到这一点吗?

非常感谢!

您可以使用 CSV Reader 来读取数据。使用 Statistics 和 Row Filter 节点,您可以找到 k 个最频繁出现的值。从中,您可以使用 GroupBy 创建一个集合单元格。使用该集合值,您可以使用具有类似规则集的规则引擎:

$city$ IN $most frequent cities$ => $city$
TRUE => "Other"