pyspark.pandas.DataFrame.nlargest¶
-
DataFrame。
nlargest
( n:int,列:聯盟(任何元組(,…),列表(聯盟[任何元組[,…]]]],保持:str=“第一” )→pyspark.pandas.frame.DataFrame¶ -
返回第一個n行命令列在降序排列。
返回第一個n最大的值的行列降序排列。指定的列不返回,但不是用於排序。
這個方法是等價的
df.sort_values(列,提升= False) .head (n)
,但在熊貓更好的性能。在pandas-on-Spark,多虧了火花的延遲執行和查詢優化器,兩個相同的性能。- 參數
-
- n int
-
返回的行數。
- 列 標簽或標簽的列表
-
列標簽(s)的順序。
- 保持 {“第一”,“去年”},默認的“第一次”。“所有”還沒有實現。
-
確定哪些副本(如果有的話)。- - - - - -
第一個
:第一次出現。- - - - - -去年
:保持最後發生。
- 返回
-
- DataFrame
-
第一個n行命令給定的列在降序排列。
另請參閱
-
DataFrame.nsmallest
-
返回第一個n行命令列以升序排序。
-
DataFrame.sort_values
-
DataFrame排序的值。
-
DataFrame.head
-
返回第一個n行沒有重建創造條件。
筆記
這個函數不能用於所有列類型。例如,當指定列對象或類別dtypes,
TypeError
是提高。例子
> > >df=ps。DataFrame({“X”:(1,2,3,5,6,7,np。南),…“Y”:(6,7,8,9,10,11,12]})> > >dfX Y0 1.0 61 2.0 72 3.0 83 5.0 94 6.0 105 7.0 116南12
在接下來的例子中,我們將使用
nlargest
選擇三排有最大的值列“X”。> > >df。nlargest(n=3,列=“X”)X Y5 7.0 114 6.0 103 5.0 9
按最大的值列“Y”然後“X”,我們在下一個示例中可以指定多個列。
> > >df。nlargest(n=3,列=(“Y”,“X”])X Y6南125 7.0 114 6.0 10
下麵的例子展示如何解決的關係,這是決定保持。
> > >tied_df=ps。DataFrame({“X”:(1,2,2,3,3)},指數=(“一個”,“b”,“c”,' d ',“e”])> > >tied_dfX一個1b 2c 2d 3e 3
當使用保持= '第一次'(默認情況下),關係是為了解決:
> > >tied_df。nlargest(3,“X”)Xd 3e 3b 2
> > >tied_df。nlargest(3,“X”,保持=“第一”)Xd 3e 3b 2
當使用保持= '最後',關係是解決在相反的順序:
> > >tied_df。nlargest(3,“X”,保持=“最後一次”)Xe 3d 3c 2