过滤数据框无效

时间:2017-07-16 16:02:49

标签: python pandas

我根据几个字段过滤数据框,其中一个是年份。年份是float 64数据类型。我正在过滤年份> = 2018并且参与= Y和Tier =高或中等

df = df [(df ['yearLine End Date Year']>=2018) & (df ['Engaged']=='Y') & (df ['Tiering']=='High')|(df ['Tiering']=='Medium')];

除了一年之外,其他过滤器正在工作,它仍然让我回到2015年,2016年和2017年。我做错了什么?

阿德里安

1 个答案:

答案 0 :(得分:2)

你的过滤器已经混淆了。

试试这个:

df[(df['yearLine End Date Year']>=2018) & (df['Engaged']=='Y') & df['Tiering'].isin(['High','Medium'])]

df[(df['yearLine End Date Year']>=2018) & (df['Engaged']=='Y') & ((df['Tiering']=='High')|(df['Tiering']=='Medium'))]

PS最后注意额外的括号......