首页 >后端开发 >Python教程 >如何使用 Pandas 的 `.isin()` 进行 DataFrame 过滤:IN 和 NOT IN 操作?

如何使用 Pandas 的 `.isin()` 进行 DataFrame 过滤:IN 和 NOT IN 操作?

Patricia Arquette
Patricia Arquette原创
2024-12-25 06:12:17967浏览

How to Use Pandas' `.isin()` for DataFrame Filtering: IN and NOT IN Operations?

使用 Pandas 的 .isin() 进行 DataFrame 过滤

在 SQL 中,IN 和 NOT IN 运算符允许您根据以下条件过滤数据值列表。 Pandas 的 DataFrame 提供了一个方便的方法 .isin(),可以实现类似的功能。

如何使用 .isin()

使用 .isin():

  • 对于 IN: 使用something.isin(somewhere)
  • 对于 NOT IN: 使用 ~something.isin(somewhere)

示例用法

考虑以下因素DataFrame:

df = pd.DataFrame({'country': ['US', 'UK', 'Germany', 'China']})

以及要保留的国家/地区列表:

countries_to_keep = ['UK', 'China']

使用 SQL 的 IN 等效项过滤 DataFrame:

df[df.country.isin(countries_to_keep)]

这将return:

    country
1        UK
3     China

相当于 SQL 的 NOT IN:

df[~df.country.isin(countries_to_keep)]

这将返回:

    country
0        US
2   Germany

此方法避免了使用笨拙的拼凑,并提供了一种基于值列表过滤 DataFrame 的简单方法。

以上是如何使用 Pandas 的 `.isin()` 进行 DataFrame 过滤:IN 和 NOT IN 操作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn