У меня есть pandas фрейм данных, заполненный текстом в несколько столбцов и около 20000 строк. Мне нужно сделать несколько строковых операций для того, что я выбрал регулярное выражение. При использовании операторов OR, таких как
pattern = "string1|string2|string3"
, все нормально, и сценарий занимает около пары секунд, что нормально.
Но если я использую выражение AND (lookarounds), например
pattern = "(?=.*string1)(?=.*string2)(?=.*string3)"
это очень медленно. Я имею в виду, очевидно, что он должен вычислять все чаще и чаще, но для его завершения требуется несколько минут, даже если я использую только 2 строки.
Есть ли какой-то способ сделать более эффективный алгоритм AND для регулярных выражений, который происходит в одном линии и не связаны как
contains(string1, flags=re.I, regex=True) & contains(string2, flags=re.I, regex=True)
спасибо за возможную помощь