pandas.Series.nsmallest — pandas 3.0.0.dev0+2097.gcdc5b7418e documentation (original) (raw)

Series.nsmallest(n=5, keep='first')[source]#

Return the smallest n elements.

Parameters:

nint, default 5

Return this many ascending sorted values.

keep{‘first’, ‘last’, ‘all’}, default ‘first’

When there are duplicate values that cannot all fit in a Series of n elements:

Returns:

Series

The n smallest values in the Series, sorted in increasing order.

Notes

Faster than .sort_values().head(n) for small n relative to the size of the Series object.

Examples

countries_population = { ... "Italy": 59000000, ... "France": 65000000, ... "Brunei": 434000, ... "Malta": 434000, ... "Maldives": 434000, ... "Iceland": 337000, ... "Nauru": 11300, ... "Tuvalu": 11300, ... "Anguilla": 11300, ... "Montserrat": 5200, ... } s = pd.Series(countries_population) s Italy 59000000 France 65000000 Brunei 434000 Malta 434000 Maldives 434000 Iceland 337000 Nauru 11300 Tuvalu 11300 Anguilla 11300 Montserrat 5200 dtype: int64

The n smallest elements where n=5 by default.

s.nsmallest() Montserrat 5200 Nauru 11300 Tuvalu 11300 Anguilla 11300 Iceland 337000 dtype: int64

The n smallest elements where n=3. Default keep value is ‘first’ so Nauru and Tuvalu will be kept.

s.nsmallest(3) Montserrat 5200 Nauru 11300 Tuvalu 11300 dtype: int64

The n smallest elements where n=3 and keeping the last duplicates. Anguilla and Tuvalu will be kept since they are the last with value 11300 based on the index order.

s.nsmallest(3, keep="last") Montserrat 5200 Anguilla 11300 Tuvalu 11300 dtype: int64

The n smallest elements where n=3 with all duplicates kept. Note that the returned Series has four elements due to the three duplicates.

s.nsmallest(3, keep="all") Montserrat 5200 Nauru 11300 Tuvalu 11300 Anguilla 11300 dtype: int64