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

В данном случае мне необходимы значения из столбца 1, в которых в столбце 2 есть текст enable. Я реализую это следующим образом: klap = df.loc[df["Ограничения"] == "enable"]
Но когда я сталкиваюсь с примерами столбца, где в одной ячейке находится массив значений
Я не понимаю что с этим делать. В данной случае, я хочу получить 1 столбец, где во втором есть значение "UVS". Как это реализовать?
Ответы (1 шт):
Можно сделать так, используя str.contains и регулярное выражение:
df.loc[df["Ограничения"].str.contains(r'\bUVS\b', regex=True)]
Обратите внимание, что в строке с регулярным выражении используется формат raw-string (r перед строкой), чтобы бэкслэши \ не обрабатывались как признаки спецсимволов, а попали в регулярное выражение "как есть", и используется маска \b, обозначающая границу слова.