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=psDataFrame({“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”。

> > >dfnlargest(n=3,=“X”)X Y5 7.0 114 6.0 103 5.0 9

按最大的值列“Y”然後“X”,我們在下一個示例中可以指定多個列。

> > >dfnlargest(n=3,=(“Y”,“X”])X Y6南125 7.0 114 6.0 10

下麵的例子展示如何解決的關係,這是決定保持

> > >tied_df=psDataFrame({“X”:(1,2,2,3,3)},指數=(“一個”,“b”,“c”,' d ',“e”])> > >tied_dfX一個1b 2c 2d 3e 3

當使用保持= '第一次'(默認情況下),關係是為了解決:

> > >tied_dfnlargest(3,“X”)Xd 3e 3b 2
> > >tied_dfnlargest(3,“X”,保持=“第一”)Xd 3e 3b 2

當使用保持= '最後',關係是解決在相反的順序:

> > >tied_dfnlargest(3,“X”,保持=“最後一次”)Xe 3d 3c 2