繁体   English   中英

根据多个条件删除 pandas dataframe 行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM