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


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