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

如何根據特定列中的值列表過濾 Pandas DataFrame 行?

Barbara Streisand
發布: 2024-12-26 04:26:12
原創
114 人瀏覽過

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

如果列中的值與特定清單匹配,則過濾 DataFrame 行

pandas DataFrame rpt 有多行與股票相關的資料。若要檢索股票 ID 與特定值清單相符的行,應使用 isin 方法。讓我們探索如何使用值列表過濾 DataFrame 行:

import pandas as pd

# Create a sample DataFrame
rpt = pd.DataFrame({'STK_ID': ['000002', '600809', '600141', '600329', '603366'],
                   'RPT_Date': ['20120331', '20120331', '20120331', '20120331', '20091231'],
                   'sales': [100, 200, 300, 400, 500]})

# Stock IDs to filter for
stk_list = ['600809', '600141', '600329']

# Filter rows using isin
filtered_rows = rpt[rpt['STK_ID'].isin(stk_list)]
登入後複製

isin 方法檢查指定列中的值是否存在於提供的清單中。具有匹配ID的行被過濾到filtered_rows DataFrame中:

print(filtered_rows)

   STK_ID  RPT_Date  sales
0  600809  20120331    200
1  600141  20120331    300
2  600329  20120331    400
登入後複製

這種過濾方法避免了使用in的常見錯誤,不支援檢查值是否在列表中。透過利用 isin,可以有效地從 DataFrame 中檢索所需的行。

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

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