我正在尝试基于关键字和正则表达式搜索来最大化数据切片的效率
关键字是-[regex1 | regex2&关键字1 |关键字2]
有三个选择
使用包含关键字1 |关键字2的行过滤df。然后使用regex1搜索过滤器。 regex2
使用关键字本身过滤df。 regex1 | regex2&关键字1 |关键字2
使用以下命令过滤df regex1和keyword1 | regex1和keyowrd2 | regex2和keyword1 | regex2&keyowrd2
关注与目的 *我想证明#1是最快的。 *我也想掌握| ,以及带有str.contains()的运算符 *如果您有更好的解决方法,请分享。除了str.contains()之外,我们都会很高兴
我知道了1、2
1。
a = df [ df.col.str.contains('keyword1|keyword2')
b = a [ a.col.str.contains('regex1|regex2')
2。
a = df[ df.col.str.contins('regex1|regex2') & df[col.str.contains('keyword1|keyword2')]
3。 试过
df[
df.col.str.contins('regex1') & df.col.str.contains('keyword1') |
df.col.str.contins('regex1') & df.col.str.contains('keyword2') |
df.col.str.contins('regex2') & df.col.str.contains('keyword1') |
df.col.str.contins('regex2') & df.col.str.contains('keyword2') |
]
它的眉头更大。