当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame nlargest方法用法及代码示例


Pandas DataFrame.nlargest(~) 方法返回指定列中具有最大值的 n 行。返回的行按降序排序。

参数

1. n | int

您想要返回的行数。

2. columns | stringliststrings

您想要排序的列的标签。

3. keep | string | optional

如何处理边情况下的重复值。例如,如果您选择 n=3 且值为 [1,2,2,2] ,则会出现边情况。

如何处理边情况下的重复值

"first"

保留第一次出现的情况。

"last"

保留最后一次出现的情况。

"all"

保留所有发生的情况。

对于 "all" ,返回的行数可能会超过 n 。默认情况下,keep="first"

返回值

DataFrame,其中 n 行在指定列中具有最大值(按降序排列)。

例子

基本用法

考虑以下 DataFrame :

df = pd.DataFrame({"A":[1,4,6], "B":[3,8,8]})
df



   A  B
0  1  3
1  4  8
2  6  8

要获取列 A 具有最高值的前 2 行:

df.nlargest(2, "A")



   A  B
2  6  8
1  4  8

请注意返回的行如何按 A 中的值的降序排序。

处理重复值

考虑与上面相同的df

df



   A  B
0  1  3
1  4  8
2  6  8
只保留第一个

默认情况下, keep="first" ,这意味着返回具有最大列值的行的第一次出现:

df.nlargest(1, "B")   # keep="first"



   A  B
1  4  8

请注意如何返回行 1 ,而不是行 2 ,尽管事实上它们对于列 B 具有相同的值 ( 8 )。

只保留最后一个

要获取最后一次出现,请设置 keep="last"

df.nlargest(1, "B", keep="last")



   A  B
2  6  8
保留所有出现的情况

要保留这两个事件,请设置 keep="all"

df.nlargest(1, "B", keep="all")



   A  B
1  6  8
2  4  8

请注意,尽管我们设置了n=1,但我们最终还是得到了 2 行。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | nlargest method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。