首页 > 解决方案 > 如何删除与子字符串部分匹配的熊猫行?

问题描述

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

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

感谢您的支持问候,

标签: pythonpandas

解决方案


我相信你想通过反转掩码来选择不匹配的值~

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

或者为了提高性能(只测试一次,而不是 2 次)将掩码的输出保存到变量:

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)

推荐阅读