【发布时间】:2017-11-30 10:57:35
【问题描述】:
OID,TYPE,ResponseType
100,mod,ok
100,mod,ok
101,mod,ok
101,mod,ok
101,mod,ok
101,mod,ok
101,mod,no
102,mod,ok
102,mod,ok2
103,mod,ok
103,mod,no2
我想删除所有响应为 no 或 no2 的 OID。
我试过了:
dfnew = df.groupby('OID').filter(lambda x: ((x['ResponseType']=='no') | x['ResponseType']=='no2')).any() )
但我得到 SyntaxError: invalid syntax
另一种方法是对所有要过滤的 OID 进行set,然后使用它们来过滤 df。df 有 5000000 行!
预期的操作
OID,TYPE,ResponseType
100,mod,ok
100,mod,ok
102,mod,ok
102,mod,ok2
【问题讨论】:
标签: python pandas dataframe filter