У меня есть DataFrame Pandas, который содержит два набора координат (lat1, lon1, lat2, lon2). У меня есть функция, которая вычисляет расстояние, используя эти координаты. Но некоторые из строк в фрейме данных недействительны. Я хотел бы применить свою функцию только к допустимым строкам и сохранить результат функции в столбце «dist» (столбец уже существует в фрейме данных). Я хочу что-то вроде этого SQL:Pandas: Условно заполнить столбец, используя функцию, основанную на других значениях столбцов
UPDATE dataframe
SET dist=calculate_dist(lat1, lon1, lat2, lon2)
WHERE lat1 IS NOT NULL AND lat2 IS NOT NULL AND user_id>100;
Как я могу это достичь?
Я попытался использовать df = df.apply(calculate_dist, axis=1)
, но при таком подходе мне нужно обработать все строки, а не только строки, соответствующие моим условиям, и мне нужно иметь оператор if внутри функции calculate_dist, который игнорирует недопустимые строки. Есть ли способ лучше?
Я знаю, что подобные вопросы уже появились в StackOverflow, но я не мог найти вопроса, который использует как функцию, так и условный выбор строк.
Он работает, спасибо. – JustAC0der