如果字符串匹配,如何删除一行

Posted

技术标签:

【中文标题】如果字符串匹配,如何删除一行【英文标题】:How to delete a row if string matches 【发布时间】:2019-12-17 10:09:45 【问题描述】:

我有一个包含“@@@”系列的 DataFrame。我想删除包含此模式的行。

我写了这样的匹配代码:

df[df['employee'].str.match('@', na = False)]

如果找到匹配项,如何删除该行?

【问题讨论】:

如果匹配,只需反转条件df[~df['employee'].str.match('@',na=False)] 要删除列还是行? 我要删除的行 search for "does-not-contain" on a dataframe in pandas的可能重复 【参考方案1】:

使用pandas.DataFrame.drop:

df = df.drop(df[df['employee'].str.match('@',na=False)].index)    

【讨论】:

【参考方案2】:

据我了解,您想删除employee 列中用@@@ 填充的行。如果正确,请尝试:

df = df.loc[df["employee"] != "@@@"]

【讨论】:

以上是关于如果字符串匹配,如何删除一行的主要内容,如果未能解决你的问题,请参考以下文章

如果字符串与列表中的字符串匹配,我如何从句子中删除字符串

shell匹配字符串,一行中出现多次(grep或sed)

C#:如何删除两个字符串之间的匹配子字符串?

perl中每行有多个要匹配的字符串怎么取?

匹配后删除到行尾,保留不匹配的行

在c ++中删除一行中的所有字符直到模式匹配的最快方法是什么?