Передать список в str.contains - Pandas - PullRequest
0 голосов
/ 11 марта 2020

У меня есть вопрос, связанный с pandas: мне нужно отфильтровать столбец (около 40 тыс. Записей) на основе подстрок, включенных (или нет) в столбец. Каждая из записей в столбце - это в основном очень длинный список атрибутов (текст), которые мне нужно фильтровать по отдельности. Эта строка кода работает, но она не масштабируется (у меня есть сотни атрибутов, по которым я должен отфильтровать):

df[df['Product Lev 1'].str.contains('W1 Rough wood', na=False) & df['Product Lev 1'].str.contains('W1.2', na=False)]

Есть ли возможность вставить все элементы, которые я должен отфильтровать, и передать их как список? Или любое другое решение?

СПАСИБО!

1 Ответ

0 голосов
/ 11 марта 2020

Как это:

data = {'col_1': [3, 2, 1, 0], 'col_2': ['aaaaDB', 'bbbbbbCB', 'cccccEB', 'ddddddUB']}
df=pd.DataFrame.from_dict(data)
lst = ['DB','CB']  #replace with your list
rstr = '|'.join(lst)
df[df['col_2'].str.upper().str.contains(rstr)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...