Ранжирование столбцов в фрейме pyspark - PullRequest
0 голосов
/ 23 сентября 2019

Я ищу способ ранжировать столбцы в строке в фрейме данных pyspark.

Например, возьмем следующий фрейм данных, назовем его "df" (реальное будет многоконечно, больше столбцов):

A  B  C
99 30 21  
20 10 44 
50 90 87 
78 11 09 

Я хочу получить ранг определенного столбца, например:

A  B  C  rank_of_A
99 30 21   3
20 10 44   2
50 90 87   1
78 11 09   3

В Python это было бы легко:

df2=df.rank(axis=1,method='first',ascending=True)
df['rankf_of_A']=df2.iloc[:,0]

Но ради жизни я не могу понять, как это сделать в pyspark.Есть много источников, которые говорят вам, как сделать это для строк (в основном с использованием функций Windows), но не для столбцов (кажется, что аргумент "axis" отсутствует во всех функциях pyspark, которые я нашел), и я не делаюхочу переставить каждую строку или что-то глупое подобное.

Как мне сделать это правильно в pyspark?

...