Найти вхождения строк в DataFrame по сравнению значения, полученного регулярным выражением
Есть структура DataFrame, в которой хранится таблица с уязвимостями (много столбцов с различной информацией, такой как Идентификатор, Наименование, Версия ПО и т.д.).
Нужно отобрать определенные строки этой таблицы (вхождения по условиям). Например, значение столбца "Версия ПО" в конкретной строке -
"от 4.4.10 до 4.4.55 включительно (Linux), до 2.40.11 включительно (librsvg)".
Нужно вычленить значение версии, относящейся к (Linux), и сравнить её с конкретной (например с 4.4.54), а также запомнить это строку и записать её в новый DataFrame, если по результатам сравнения она проходит проверку (то есть наша версия 4.4.54 подвержена этой уязвимости).
Пока что смог реализовать поиск по простому вхождению конкретно описанного условия
vul_dataset = pd.read_excel(vul_base)
result_set = vul_dataset[
(vul_dataset['Версия ПО'].str.contains(r'(\d+.\d+.?\d+)\D+\(Linux\)', regex=True)
]
Но .str.contains возвращает True/False по простому соответствию, собственно вопрос - как добавить сравнение?