Dense_rank

Window işlevi: Herhangi bir boşluk olmadan bir pencere bölümü içindeki satırların derecesini döndürür.

Derece ile dense_rank arasındaki fark, dense_rank bağlar olduğunda sıralama sırasında boşluk bırakmamadır. Yani, dense_rank kullanarak bir yarışmaya katıldıysanız ve ikincilik için üç kişi bağladıysanız, üç kişinin de ikinci sırada olduğunu ve bir sonraki kişinin üçüncü olduğunu söyleyebilirsiniz. Derece bana sıralı sayılar verir ve üçüncü sırada (bağlardan sonra) gelen kişinin beşinci sırada olduğunu gösterir.

Bu, SQL'deki DENSE_RANK işlevine eşdeğerdir.

Sözdizimi

from pyspark.sql import functions as sf

sf.dense_rank()

Parametreler

Bu işlev herhangi bir parametre almaz.

İade

pyspark.sql.Column: dereceleri hesaplamaya yönelik sütun.

Örnekler

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.dense_rank().over(w)).show()
+-----+-----+
|value|drank|
+-----+-----+
|    1|    1|
|    1|    1|
|    2|    2|
|    3|    3|
|    3|    3|
|    4|    4|
+-----+-----+