利用SQL 的IN 和NOT IN 功能查詢Pandas DataFrames
過濾Pandas DataFrames 中的資料是資料處理中的常見任務。 Pandas 提供了多種方法來實現這一點,包括直覺的 isin 函數。本文示範如何利用 isin 來篩選數據,模仿 SQL 的 IN 和 NOT IN 運算子。
理解問題
SQL 的 IN 和 NOT IN 運算子可讓您根據值是否包含在指定清單中或排除在指定清單中來篩選資料。此功能對於隔離特定記錄或刪除不需要的資料至關重要。
使用 isin 過濾資料
Pandas 提供了 isin 函數,該函數對 Series 物件進行操作。它會傳回布林掩碼,指示 Series 中的每個元素是否與提供的清單或陣列中的任何值相符。
IN 過濾
要執行IN 操作,只需傳遞要使用以下語法與isin 函數匹配的值列表:
something.isin(somewhere)
NOT IN濾波
要執行NOT IN操作,請在 isin 函數之前使用否定運算子 ~:
~something.isin(somewhere)
工作範例
考慮以下 DataFrame df和要保留的國家列表country_to_keep:
df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']}) countries_to_keep = ['UK', 'China']
查找country_to_keep:
df[df.country.isin(countries_to_keep)]
輸出中包含國家/地區的行:
country 1 UK 3 China
尋找不包含國家/地區的行包含在country_to_keep:
df[~df.country.isin(countries_to_keep)]
輸出:
country 0 US 2 Germany
使用isin 的好處
透過理解和利用isin 函數,您可以根據指定清單或陣列中的值有效過濾Pandas DataFrame,從而利用SQL 的IN 和NOT IN的強大功能來增強您的資料處理任務運營商。
以上是如何使用 Pandas 的'isin”函數來模仿 SQL 的'IN”和'NOT IN”運算符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!