2016-12-19 1 views
0

Supposons que je les colonnes suivantes pour un csv que je lis à travers un noeud « File lecteur »:Transformer des valeurs moins fréquentes

id, name, city, income 

Après l'avoir lu, je remarque que la colonne « ville » contient un grand nombre de valeurs uniques. Je veux:

  1. Sachez quelles valeurs sont les « k » le plus fréquent pour « city »
  2. Modifier ceux qui ne sont pas les « k » le plus fréquent de tenir quelque chose comme « autre »

Exemple:

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 

le choix k à 1, je veux produire le tableau suivant:

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 

Cela se produit parce que «New York» est la valeur la plus fréquente de «ville» dans la table d'origine. Savez-vous comment je peux faire cela en utilisant Knime?

Merci beaucoup!

Répondre

2

Vous pouvez utiliser le lecteur CSV pour lire les données. Avec les nœuds Statistiques et Filtre de lignes, vous pouvez trouver les k valeurs les plus fréquentes. À partir de ceux-ci, vous pouvez créer une cellule de collection en utilisant GroupBy. Avec cette valeur de collection, vous pouvez utiliser Rule Engine avec un jeu de règles similaire:

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