當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。