Pandas:过滤具有多个字符串条件的行[重复]
Posted
技术标签:
【中文标题】Pandas:过滤具有多个字符串条件的行[重复]【英文标题】:Pandas: Filtering row with multiple string conditions [duplicate] 【发布时间】:2019-01-16 00:03:32 【问题描述】:我有一个数据集,其中有一列如下所示:
NAME
ZZKIDS
ZZZKIDS
ZZZANTHONY
要过滤行,我知道我可以使用这个:
df[~df.NAME.str.contains("ZZ")]
有没有办法将另一个“ZZZ”和“ZZ”一起添加?
【问题讨论】:
df[~df.NAME.str.contains("ZZ|ZZZ")]
?
是的,字符串可以是正则表达式
【参考方案1】:
使用以下正则表达式:
df[~df.NAME.str.contains('Z2,')]
'Z2,'
表示 Z
出现 2 次或多次
【讨论】:
谢谢伙计。快速提问,由于 Z 出现 2 次或多次,它会过滤掉类似“ZACKZ”的内容吗? 不,我这样做只会寻找连续的Z
s。如果您想过滤掉任何超过 2 个 Z 的值,无论它们是否连续,您都可以使用:df[df.NAME.str.count('Z') > 2]
例如
@sacul 可能是 OP 只想要 df[~df.NAME.str.startswith('ZZ')]
在这里...(给定示例...)也 - 如果字符串包含至少 2 个连续的 Z ......只需检查 ZZ就足够了,因为 3 个连续的 Z 也将只匹配两个连续的 Z...以上是关于Pandas:过滤具有多个字符串条件的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章