![](/img/trans.png)
[英]How to delete multiple rows in a pandas DataFrame based on condition?
[英]Delete pandas dataframe row based on multiple condition
我有以下df:
ABF2
ABG2
ABH2
ABJ3
ABK4
ABM5
ABN6
ABQ7
我的目标是拥有以下数据框:
ABH2
ABM5
ABQ7
所以基本上条件是多重的:
if third char = H, M, Q or Z
要获得第三个 char 值,我执行以下操作:
DF.Col_Name[2::2]
事实是我真的不知道如何应用多个条件来检索想要的 DF。 另外,最快的方法是什么?
Select 第三个字符,在Series.isin
中带有str
和测试值,用于按成员资格测试,按boolean indexing
过滤:
df = DF[DF.Col_Name.str[2].isin(['H','M','Q','Z'])]
你可以试试.str
访问器
out = df[df['col'].str[2].isin(['H', 'M', 'Q', 'Z'])]
print(out)
col
2 ABH2
5 ABM5
7 ABQ7
您可以使用:
df.loc[df.col.str[2].str.contains('H|M|Q|Z')]
印刷:
col
2 ABH2
5 ABM5
7 ABQ7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.