按列表中的列值過濾 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中文網其他相關文章!