转换频率较低的值
Transforming less frequent values
假设我通过 'File Reader' 节点读取的 csv 有以下列:
id, name, city, income
阅读后,我注意到 'city' 列包含大量唯一值。我想:
- 了解哪些值是 'k' 'city'
最常见的值
- 修改那些不是 '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"
假设我通过 'File Reader' 节点读取的 csv 有以下列:
id, name, city, income
阅读后,我注意到 'city' 列包含大量唯一值。我想:
- 了解哪些值是 'k' 'city' 最常见的值
- 修改那些不是 '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"