利用 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中文网其他相关文章!