當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.dataframe.DataFrame.nlargest用法及代碼示例


用法:

DataFrame.nlargest(n=5, columns=None, split_every=None)

返回按 columns 降序排列的前 n 行。

此文檔字符串是從 pandas.core.frame.DataFrame.nlargest 複製而來的。

可能存在與 Dask 版本的一些不一致之處。

按降序返回 columns 中具有最大值的前 n 行。未指定的列也會返回,但不用於排序。

此方法等效於 df.sort_values(columns, ascending=False).head(n) ,但性能更高。

參數

nint

要返回的行數。

columns標簽或標簽列表

要排序的列標簽。

keep{‘first’, ‘last’, ‘all’},默認 ‘first’(Dask 不支持)

有重複值的地方:

  • first : 優先第一次出現
  • last :優先考慮最後出現的事件
  • all :不要刪除任何重複項,即使這意味著選擇超過 n 項。

返回

DataFrame

n 行按給定列按降序排列。

注意

此函數不能用於所有列類型。例如,當使用 objectcategory dtypes 指定列時,會引發 TypeError

例子

>>> df = pd.DataFrame({'population': [59000000, 65000000, 434000,  
...                                   434000, 434000, 337000, 11300,
...                                   11300, 11300],
...                    'GDP': [1937894, 2583560 , 12011, 4520, 12128,
...                            17036, 182, 38, 311],
...                    'alpha-2': ["IT", "FR", "MT", "MV", "BN",
...                                "IS", "NR", "TV", "AI"]},
...                   index=["Italy", "France", "Malta",
...                          "Maldives", "Brunei", "Iceland",
...                          "Nauru", "Tuvalu", "Anguilla"])
>>> df  
          population      GDP alpha-2
Italy       59000000  1937894      IT
France      65000000  2583560      FR
Malta         434000    12011      MT
Maldives      434000     4520      MV
Brunei        434000    12128      BN
Iceland       337000    17036      IS
Nauru          11300      182      NR
Tuvalu         11300       38      TV
Anguilla       11300      311      AI

在以下示例中,我們將使用nlargest 選擇列“population” 中具有最大值的三行。

>>> df.nlargest(3, 'population')  
        population      GDP alpha-2
France    65000000  2583560      FR
Italy     59000000  1937894      IT
Malta       434000    12011      MT

使用 keep='last' 時,以相反的順序解決關係:

>>> df.nlargest(3, 'population', keep='last')  
        population      GDP alpha-2
France    65000000  2583560      FR
Italy     59000000  1937894      IT
Brunei      434000    12128      BN

使用 keep='all' 時,將保留所有重複項:

>>> df.nlargest(3, 'population', keep='all')  
          population      GDP alpha-2
France      65000000  2583560      FR
Italy       59000000  1937894      IT
Malta         434000    12011      MT
Maldives      434000     4520      MV
Brunei        434000    12128      BN

要按列 “population” 和 “GDP” 中的最大值排序,我們可以像下一個示例中那樣指定多個列。

>>> df.nlargest(3, ['population', 'GDP'])  
        population      GDP alpha-2
France    65000000  2583560      FR
Italy     59000000  1937894      IT
Brunei      434000    12128      BN

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.dataframe.DataFrame.nlargest。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。