首頁 > 後端開發 > Python教學 > 如何在分組的 Pandas DataFrame 中找到最小值時保留其他欄位?

如何在分組的 Pandas DataFrame 中找到最小值時保留其他欄位?

Barbara Streisand
發布: 2024-10-24 20:29:29
原創
606 人瀏覽過

How to Keep Other Columns While Finding Minimums in Grouped Pandas DataFrames?

Pandas DataFrame 中分組最小操作期間保留其他列

使用groupby 函數按特定列將資料分組並執行聚合操作時與查找最小值一樣,DataFrame 中的其他欄位可能會被無意中刪除。

要在對分組列執行最小操作時保留其他列,請考慮以下方法:

方法1 :使用idxmin()

idxmin () 傳回每組內最小值的索引。透過利用此功能,您可以只選擇所需的行:

<code class="python">result = df.loc[df.groupby("item")["diff"].idxmin()]</code>
登入後複製

方法2:排序並取得第一個元素

或者,您可以按以下方式對資料幀進行排序在執行groupby 操作並提取每組中的第一行之前的最小列:

<code class="python">result = df.sort_values("diff").groupby("item", as_index=False).first()</code>
登入後複製

兩種方法都會產生所需的輸出,保留otherstuff 列,同時根據最小差異值過濾行:

   item  diff  otherstuff
0     1     1           2
1     2    -6           2
2     3     0           0
登入後複製

請注意,儘管行內容保持不變,但兩種方法產生的索引可能會有所不同。

以上是如何在分組的 Pandas DataFrame 中找到最小值時保留其他欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板