首页 > 解决方案 > 如何在 Pandas 中的两个过滤器之间使用 AND (&) 运算符?

问题描述

我正在使用 StackOverflow 年度调查数据来做一个样本数据分析项目。数据可在以下链接中找到: 年度数据调查

我想使用单个命令过滤 2 列。2列的两种数据类型如下:

Country                 88751 non-null  object
ConvertedComp           55823 non-null  float64

我想选择一个国家列表,然后查看它们的 ConvertedComp 是否大于 10000。

要列出所需国家/地区,我使用以下过滤器:

countries = ['United States', 'India','United Kingdom','Germany']
filt = (df['Country'].isin(countries) )

我在 ConvertComp 上使用以下过滤器,如下所示:

filt1 = (df['ConvertedComp']>1000 )

我想同时使用这两个条件在单个单元格中创建单个过滤器。我使用 & 运算符如下:

filter1 = (df['Country'].isin(countries) & df['ConvertedComp']>1000)

据我了解,当我将上述过滤器应用于数据框时,除了上述列表中提到的国家之外,我不应该看到任何国家。但是,当我应用文件管理器时,数据框给了我 0 个结果。

谁能解释一下在使用过滤器时如何正确使用 & 运算符?

标签: pandasdataframe

解决方案


推荐阅读