pandas.DataFrame.nlargest
-
DataFrame.nlargest(n, columns, keep='first')[source] -
Return the first
nrows ordered bycolumnsin descending order.Return the first
nrows with the largest values incolumns, in descending order. The columns that are not specified are returned as well, but not used for ordering.This method is equivalent to
df.sort_values(columns, ascending=False).head(n), but more performant.Parameters: n : int
Number of rows to return.
columns : label or list of labels
Column label(s) to order by.
keep : {‘first’, ‘last’}, default ‘first’
Where there are duplicate values:
-
first: prioritize the first occurrence(s) -
last: prioritize the last occurrence(s)
Returns: DataFrame
The first
nrows ordered by the given columns in descending order.See also
-
DataFrame.nsmallest - Return the first
nrows ordered bycolumnsin ascending order. -
DataFrame.sort_values - Sort DataFrame by the values
-
DataFrame.head - Return the first
nrows without re-ordering.
Notes
This function cannot be used with all column types. For example, when specifying columns with
objectorcategorydtypes,TypeErroris raised.Examples
>>> df = pd.DataFrame({'a': [1, 10, 8, 10, -1], ... 'b': list('abdce'), ... 'c': [1.0, 2.0, np.nan, 3.0, 4.0]}) >>> df a b c 0 1 a 1.0 1 10 b 2.0 2 8 d NaN 3 10 c 3.0 4 -1 e 4.0In the following example, we will use
nlargestto select the three rows having the largest values in column “a”.>>> df.nlargest(3, 'a') a b c 1 10 b 2.0 3 10 c 3.0 2 8 d NaNWhen using
keep='last', ties are resolved in reverse order:>>> df.nlargest(3, 'a', keep='last') a b c 3 10 c 3.0 1 10 b 2.0 2 8 d NaNTo order by the largest values in column “a” and then “c”, we can specify multiple columns like in the next example.
>>> df.nlargest(3, ['a', 'c']) a b c 3 10 c 3.0 1 10 b 2.0 2 8 d NaNAttempting to use
nlargeston non-numeric dtypes will raise aTypeError:>>> df.nlargest(3, 'b') Traceback (most recent call last): TypeError: Column 'b' has dtype object, cannot use method 'nlargest'
-
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.nlargest.html