Filtragem de pandas para várias substrings em série
Eu preciso filtrar linhas em umpandas
dataframe para que uma coluna específica contenha pelo menos uma de uma lista de substrings fornecidas. As substrings podem ter caracteres incomuns / regex. A comparação não deve envolver regex e faz distinção entre maiúsculas e minúsculas.
Por exemplo:
lst = ['kdSj;af-!?', 'aBC+dsfa?\-', 'sdKaJg|dksaf-*']
Atualmente, aplico a máscara assim:
mask = np.logical_or.reduce([df[col].str.,contains(i, regex=False, case=False) for i in lst])
df = df[mask]
Meu quadro de dados é grande (~ 1 milhão de linhas) elst
tem comprimento 100. Existe uma maneira mais eficiente? Por exemplo, se o primeiro item emlst
for encontrado, não teremos que testar nenhuma sequência subsequente para essa linha.