У меня есть датафрейм, который имеет 2 столбца.Я хочу отфильтровать этот фрейм данных на основе диапазонов ip, присутствующих в файле json.
ip_ranges.json
[
{"start": "45.43.144.0", "end": "45.43.161.255"}
{"start": "104.222.130.0", "end": "104.222.191.255"}
...
]
Фрейм данных:
ip,p_value
97.98.173.96,3.7
73.83.192.21,6.9
...
Примечание: ip_range.json содержит 100 тыс. Элементов, а мой информационный фрейм содержит 300 тыс. Строк.
В настоящее время я реализовал так:
- Создан список Python для хранения всех ips вкаждый диапазон.Например, ["45.43.144.0", "45.43.144.1", "45.43.144.2", ..., "45.43.161.255"].Аналогичный способ для всех диапазонов IP.
- Удалены повторяющиеся элементы из этого списка.
- Построенный фрейм данных с использованием этого списка
- Объединение двух фреймов данных в 'ip'
Этот процесс отлично работает длянебольшой набор ip_ranges.Но для большого набора ip_ranges процесс занимает больше времени.
Есть ли лучший подход для более эффективного выполнения этого?