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