Применение пакета packaging.version к элементам dataframe
Имеется MultiIndex Dataframe, в котором хранятся граничные версии пакетов в формате string:
>>> print(target_indexes)
0 1
match
0 0 0 3.6.14
1 3.7.0 3.7.11
2 3.8.0 3.8.11
3 3.9.0 3.9.5
4 3.10.0 3.10.0
1 0 0 3.6.3
2 0 0 3.7.9
1 3.6.0 3.6.12
2 3.7.0 3.7.9
3 0 3.5.10
4 3.8.0 3.8.5
Также есть версия, которая должна входить в интервал между этими граничными версиями.
lib_version = '3.8.1'
Хочу применить пакет packaging.version (https://packaging.pypa.io/en/latest/version.html#packaging.version.Version), с помощью которого можно легко сравнить версии, но
не могу понять каким образом это сделать. Нужно оставить только строки, которые бы удовлетворяли условию.
Смог сделать фильтрацию по принципу сравнения строк друг с другом, но при сравнении теряются вхождения вида 3.9 < 3.10 (ибо строка 3.9 считается больше строки 3.10)
target_indexes = target_indexes[target_indexes[0].le(lib_version) & target_indexes[1].ge(lib_version)]
Подскажите, пожалуйста, как можно проитерироваться по строкам и вытащить на каждом этапе элементы, чтобы сравнить их как объекты Version и запомнить индексы нужной строки? Ничего подобного в интернете не смог найти.