Groupe Par, de Rang et d'agrégation de données spark cadre à l'aide de pyspark
J'ai un dataframe qui ressemble à:
A B C
---------------
A1 B1 0.8
A1 B2 0.55
A1 B3 0.43
A2 B1 0.7
A2 B2 0.5
A2 B3 0.5
A3 B1 0.2
A3 B2 0.3
A3 B3 0.4
Comment puis-je convertir la colonne " C " pour le classement relatif(plus le score->meilleur rang) par la colonne A? Résultat Attendu:
A B Rank
---------------
A1 B1 1
A1 B2 2
A1 B3 3
A2 B1 1
A2 B2 2
A2 B3 2
A3 B1 3
A3 B2 2
A3 B3 1
L'état ultime que je veux atteindre est de regrouper la colonne B et de stocker les rangs pour chaque Un:
Exemple:
B Ranks
B1 [1,1,3]
B2 [2,2,2]
B3 [3,2,1]
OriginalL'auteur futurenext110 | 2017-01-15
Vous devez vous connecter pour publier un commentaire.
Ajouter grade:
Groupe par:
De trier et de sélectionner:
Testé avec Spark 2.1.0.
OriginalL'auteur user7337271