Compartir a través de


rango

Función Window: devuelve el rango de filas dentro de una partición de ventana.

La diferencia entre rango y dense_rank es que dense_rank no deja huecos en la secuencia de clasificación cuando hay vínculos. Es decir, si estuvieras clasificando una competición usando dense_rank y tuvieras tres personas empatados para el segundo lugar, dirías que los tres estaban en segundo lugar y que la siguiente persona llegó en tercer lugar. Rank me daría números secuenciales, haciendo que la persona que llegó en tercer lugar (después de los empates) se registraría como próximamente en quinto.

Esto equivale a la función RANK en SQL.

Syntax

from pyspark.sql import functions as sf

sf.rank()

Parámetros

Esta función no toma ningún parámetro.

Devoluciones

pyspark.sql.Column: la columna para calcular las clasificaciones.

Examples

from pyspark.sql import functions as sf
from pyspark.sql import Window
df = spark.createDataFrame([1, 1, 2, 3, 3, 4], "int")
w = Window.orderBy("value")
df.withColumn("drank", sf.rank().over(w)).show()
+-----+-----+
|value|drank|
+-----+-----+
|    1|    1|
|    1|    1|
|    2|    3|
|    3|    4|
|    3|    4|
|    4|    6|
+-----+-----+