當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pyspark DataFrame.rank用法及代碼示例


本文簡要介紹 pyspark.pandas.DataFrame.rank 的用法。

用法:

DataFrame.rank(method: str = 'average', ascending: bool = True) → pyspark.pandas.frame.DataFrame

沿軸計算數值數據等級(1 到 n)。相等的值被分配一個等級,該等級是這些值的等級的平均值。

注意

當前的 rank 實現使用 Spark 的 Window 而不指定分區規範。這會導致將所有數據移動到單個機器中的單個分區中,並可能導致嚴重的性能下降。避免對非常大的數據集使用此方法。

參數

method{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’}
  • 平均:組的平均排名

  • min:組中的最低排名

  • max:組中的最高排名

  • 第一:按照它們在數組中出現的順序分配的等級

  • 密集:類似於‘min’,但組間排名總是增加 1

ascending布爾值,默認 True

從高 (1) 到低 (N) 的等級為假

返回

ranks與調用者相同的類型

例子

>>> df = ps.DataFrame({'A': [1, 2, 2, 3], 'B': [4, 3, 2, 1]}, columns= ['A', 'B'])
>>> df
   A  B
0  1  4
1  2  3
2  2  2
3  3  1
>>> df.rank().sort_index()
     A    B
0  1.0  4.0
1  2.5  3.0
2  2.5  2.0
3  4.0  1.0

如果方法設置為‘min’,則使用組中的最低排名。

>>> df.rank(method='min').sort_index()
     A    B
0  1.0  4.0
1  2.0  3.0
2  2.0  2.0
3  4.0  1.0

如果方法設置為‘max’,則使用組中的最高排名。

>>> df.rank(method='max').sort_index()
     A    B
0  1.0  4.0
1  3.0  3.0
2  3.0  2.0
3  4.0  1.0

如果方法設置為‘dense’,則在組中不留空隙。

>>> df.rank(method='dense').sort_index()
     A    B
0  1.0  4.0
1  2.0  3.0
2  2.0  2.0
3  3.0  1.0

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.rank。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。