2
我有一个包含两组坐标(lat1,lon1,lat2,lon2)的Pandas DataFrame。我有一个使用这些坐标计算距离的函数。但是数据框中的一些行是无效的。我想仅将我的函数应用于有效行并将函数的结果保存到'dist'列(该列已存在于数据框中)。我想要这样的SQL:熊猫:使用基于其他列值的函数有条件填充列
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)
,但通过这种方法,我需要处理所有行,不仅符合我的条件的行,而且需要在calculate_dist函数内部有一个忽略无效行的if语句。有没有更好的办法?
我知道类似的问题已经出现在StackOverflow上,但我找不到任何利用函数和条件选择行的问题。
它的工作原理,谢谢。 – JustAC0der