Python 如何删除子字符串部分匹配的行?

Python 如何删除子字符串部分匹配的行?,python,pandas,Python,Pandas,我有一个数据框,我想删除部分子字符串匹配的行,如下所示,并将它们保存到新的csv文件中。下面的代码行工作正常,但我不知道如何从原始数据帧(df2)中删除这些行,并将输出保存到其他csv文件 df2_output=df2[df2['Name'].str.contains("planning|Test|tgt",case=False)] 感谢您的支持 关于,我相信您希望通过~反转掩码来选择不匹配的值: df3_output=df2[~df2['Name'].str.contains("plann

我有一个数据框,我想删除部分子字符串匹配的行,如下所示,并将它们保存到新的csv文件中。下面的代码行工作正常,但我不知道如何从原始数据帧(
df2
)中删除这些行,并将输出保存到其他csv文件

df2_output=df2[df2['Name'].str.contains("planning|Test|tgt",case=False)] 
感谢您的支持
关于,

我相信您希望通过
~
反转掩码来选择不匹配的值:

df3_output=df2[~df2['Name'].str.contains("planning|Test|tgt",case=False)] 
或者为了提高性能(只测试一次,而不是两次),将掩码的输出保存到变量:

mask = df2['Name'].str.contains("planning|Test|tgt",case=False)
df2_output=df2[mask]
df3_output=df2[~mask] 

df2_output.to_csv('matched.csv', index=False)
df3_output.to_csv('non_matched.csv', index=False)

谢谢,我这么做了,但我希望从原始数据帧中删除,以不产生太多文件。但它也是这样工作的