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


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


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

用法:

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

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

注意

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

參數

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

  • min:組中的最低排名

  • max:組中的最高排名

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

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

ascending布爾值,默認 True

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

返回

ranks與調用者相同的類型

例子

>>> s = ps.Series([1, 2, 2, 3], name='A')
>>> s
0    1
1    2
2    2
3    3
Name: A, dtype: int64
>>> s.rank()
0    1.0
1    2.5
2    2.5
3    4.0
Name: A, dtype: float64

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

>>> s.rank(method='min')
0    1.0
1    2.0
2    2.0
3    4.0
Name: A, dtype: float64

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

>>> s.rank(method='max')
0    1.0
1    3.0
2    3.0
3    4.0
Name: A, dtype: float64

如果方法設置為‘first’,則按順序分配排名,不分組。

>>> s.rank(method='first')
0    1.0
1    2.0
2    3.0
3    4.0
Name: A, dtype: float64

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

>>> s.rank(method='dense')
0    1.0
1    2.0
2    2.0
3    3.0
Name: A, dtype: float64

相關用法


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