首頁 >後端開發 >Python教學 >如何根據列值列表過濾 Pandas DataFrame 行?

如何根據列值列表過濾 Pandas DataFrame 行?

Patricia Arquette
Patricia Arquette原創
2024-12-17 12:10:25285瀏覽

How to Filter Pandas DataFrame Rows Based on a List of Column Values?

按列表中的列值過濾 DataFrame

使用 pandas DataFrame 時,能夠根據以下標準條件過濾行非常重要具體。常見場景之一是選擇提供的清單中存在列值的行。

例如,考慮包含 STK_ID、STK_Name、RPT_Date 和 sales 欄位的 DataFrame rpt。我們可以使用== 運算子輕鬆過濾特定股票ID 的行:

rpt[rpt['STK_ID'] == '600809']

但是,如果我們想要過濾STK_ID 列包含清單中的值(例如['600809)的行,該怎麼辦? ','600141','600329']?對清單使用 == 運算子在 pandas 中不起作用。

要實現此目的,我們可以使用 isin 方法:

stk_list = ['600809','600141','600329']
rpt[rpt['STK_ID'].isin(stk_list)]

isin 方法檢查列值是否存在在提供的列表中並傳回一個布林遮罩。產生的 DataFrame 將只包含 STK_ID 值至少與清單中的一個值相符的行。

在處理大型 DataFrame 或要過濾的值清單是動態時,此方法特別有用或經常變更。

以上是如何根據列值列表過濾 Pandas DataFrame 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn