我认为您可以为每个关键字创建单独的掩码,然后通过&将它们与链接结合起来—对于每行至少一个True使用^{}:df_rest = pd.DataFrame({0:['OpenSSL XYZ dd','dd OpenSSL','g OpenSSL'],
1:['CVE-2017-XX OpenSSL dd','dd OpenSSL','g XYZ'],
2:['OpenSSL t','dd XYZ','g CVE-2017-XX XYZ OpenSSL']})
cols = [0,1,2]
m1 = df_rest[cols].apply(lambda r: r.str.contains('OpenSSL', case=False))
print (m1)
0 1 2
0 True True True
1 True True False
2 True False True
m2 = df_rest[cols].apply(lambda r: r.str.contains('XYZ', case=False))
print (m2)
0 1 2
0 True False False
1 False False True
2 False True True
m3 = df_rest[cols].apply(lambda r: r.str.contains('CVE-2017-XX', case=False))
print (m3)
0 1 2
0 False True False</