python的nlargest_Python pandas.DataFrame.nlargest函数方法的使用

DataFrame.nlargest(self, n, columns, keep='first') → 'DataFrame'[source]

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

以降序返回column中具有最大值的前n行。未指定的列也将返回,但不用于排序。

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

参数:n : int

要返回的行数。

columns :标签或标签列表

要排序的列标签。

keep:{'first','last','all'},

默认为'first'

其中有重复的值:

1) first:优先处理第一次出现的事件

2) last:确定最后出现的优先顺序

3) all: 请勿丢弃任何重复项,即使这意味着

选择n个以上的项目。

0.24.0版中的新功能。

返回值:DataFrame

给定列按降序排列的前n行。

Notes

并非所有列类型都可以使用此功能。例如,当指定带有object或category 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

你可能感兴趣的:(python的nlargest)