Фильтрация по массивам в ячейке excel с помощью pandas

Задача заключается в том, что мне необходимо получать необходимые значения из столбца 1 основываясь на значениях столбца 2: Столбец 1 и столбец 2

В данном случае мне необходимы значения из столбца 1, в которых в столбце 2 есть текст enable. Я реализую это следующим образом: klap = df.loc[df["Ограничения"] == "enable"]

Но когда я сталкиваюсь с примерами столбца, где в одной ячейке находится массив значений введите сюда описание изображения Я не понимаю что с этим делать. В данной случае, я хочу получить 1 столбец, где во втором есть значение "UVS". Как это реализовать?


Ответы (1 шт):

Автор решения: CrazyElf

Можно сделать так, используя str.contains и регулярное выражение:

df.loc[df["Ограничения"].str.contains(r'\bUVS\b', regex=True)]

Обратите внимание, что в строке с регулярным выражении используется формат raw-string (r перед строкой), чтобы бэкслэши \ не обрабатывались как признаки спецсимволов, а попали в регулярное выражение "как есть", и используется маска \b, обозначающая границу слова.

→ Ссылка