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


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


Pandas DataFrame.nsmallest(~) 方法返回 n 具有指定列最小值的行。返回的行按升序排序。

参数

1. n | int

您想要返回的行数。

2. columns | stringliststrings

您想要排序的列的标签。

3. keep | string | optional

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

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

"first"

保留第一次出现的情况。

"last"

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

"all"

保留所有发生的情况。

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

返回值

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

例子

基本用法

考虑以下 DataFrame :

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



   A  B
0  4  3
1  6  3
2  1  8

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

df.nsmallest(2, "A")



   A  B
2  1  8
0  4  3

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

处理重复值

考虑与我们上面相同的df

df



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

要获取列 B 具有最小值的行的第一次出现:

df.nsmallest(1, "B")   # By default, keep="first"



   A  B
0  4  3

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

只保留最后一个

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

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



   A  B
1  6  3
保留所有出现的情况

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

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



   A  B
0  4  3
1  6  3

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

相关用法


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