pyspark.pandas.DataFrame.rank

DataFrame。 排名 ( 方法:str=“平均”,提升:bool=真正的,numeric_only:可選(bool]=沒有一個 )→pyspark.pandas.frame.DataFrame

計算數值數據(1到n)沿軸。相等的值被分配一個排名的平均值的值。

請注意

排名使用火花的窗口的當前實現不指定分區規範。這導致所有數據進入單一分區在單一機器,可能會導致嚴重的性能下降。避免這種方法對非常大的數據集。

參數
方法 {‘平均’,‘敏’,‘麥克斯’,‘第一次’,“密集”}
  • 平均:平均等級的組

  • 分鍾:最低等級

  • 馬克斯:集團的最高等級

  • 第一:排名分配順序出現在數組中

  • 密度:像“分鍾”,但等級之間總是增加1組

提升 布爾,默認的真

假的排名高(1)到低(N)

numeric_only bool,可選

對於DataFrame對象,隻有數字列設置為True。

返回
排名 相同類型作為調用者

例子

> > >df=psDataFrame({“一個”:(1,2,2,3),“B”:(4,3,2,1)},=(“一個”,“B”])> > >df一個B0 1 41 2 32 2 23 3 1
> > >df排名()sort_index()一個B0 1.0 4.01)2.5 - 3.02 2.5 - 2.03 4.0 - 1.0

如果方法設置為“最小值”,它使用最低級別組。

> > >df排名(方法=“最小值”)sort_index()一個B0 1.0 4.01)2.0 - 3.02 2.0 - 2.03 4.0 - 1.0

如果方法設置為‘麥克斯’,它使用集團的最高等級。

> > >df排名(方法=“馬克斯”)sort_index()一個B0 1.0 4.01)3.0 - 3.02 3.0 - 2.03 4.0 - 1.0

如果方法設置為“密集”,它沒有空白組。

> > >df排名(方法=“密集”)sort_index()一個B0 1.0 4.01)2.0 - 3.02 2.0 - 2.03 3.0 - 1.0

如果numeric_only設置為“真正的”,隻有數字列排序。

> > >df=psDataFrame({“一個”:(1,2,2,3),“B”:(“一個”,“b”,' d ',“c”)},=(“一個”,“B”])> > >df一個B0 11 2 b2二維3 3 c> > >df排名(numeric_only=真正的)一個0 1.01 2.52 2.53 4.0