基于Python中的多个条件进行过滤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Python中的多个条件进行过滤相关的知识,希望对你有一定的参考价值。

我有一个df,其中包含股票,指数成员,市值,市值排名,营业额和营业额等级列表。

我需要创建另一个名为“删除”的列,它将根据一些条件删除股票。

使用&和|的条件列表

  1. 当前的索引成员资格必须等于DAX和
  2. 市值排名必须大于35或
  3. 营业额必须大于35

当索引成员资格= dax且市值排名> 35时,以下代码有效,但当索引成员资格= dax且营业额> 35时不起作用,而不是仅查看营业额是否大于35而不是指数成员资格= dax 。

使用下面的代码我的结果是在新创建的'删除'列中显示一个库存作为删除,因为它的营业额等级为79,但索引成员资格是MDAX而不是DAX。第一个条件必须满足,而不是在这种情况下。

请有人帮帮我


df['Deletes'] = np.where((df['Index Membership'] == 'DAX') & (df['MKT Rank'] > 35) | (df['Turnover Rank'] > 35),'delete','')
答案

我想这里可以添加另一个()像:

df['Deletes'] = np.where((df['Index Membership'] == 'DAX') & 
                         ((df['MKT Rank'] > 35) | (df['Turnover Rank'] > 35)),'delete','')

因为operator precedence

以上是关于基于Python中的多个条件进行过滤的主要内容,如果未能解决你的问题,请参考以下文章

python字典列表过滤器

python字典列表过滤器

有条件地导入 python 类的片段

针对ramda中的过滤器上的多个条件进行测试

如何查询函数 Google 电子表格 - 基于多个条件的数据过滤(一次检查多个列)

[基于独立索引向量的多个条件过滤数据帧