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

时间:2020-06-19 13:21:51

标签: python pandas

我有一个数据框,我想删除具有部分子字符串匹配的行,如下所示,并将其保存到新的csv文件中。下面的代码行工作正常,但是我不知道如何从原始数据帧(// Get most frequent element // Get index of the maximum frequency int num_keys = new_end.first - output_keys.begin(); thrust::device_vector<int>::iterator iter = thrust::max_element(output_freqs.begin(), output_freqs.begin() + num_keys); unsigned int index = iter - output_freqs.begin(); int most_frequent_key = output_keys[index]; int most_frequent_val = output_freqs[index]; // Frequencies )中删除那些行,并将输出保存到其他csv文件中。

df2

感谢您的支持 问候

1 个答案:

答案 0 :(得分:1)

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

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

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

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)