当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。