【发布时间】:2019-05-18 06:33:28
【问题描述】:
我需要将字段添加到我的 DataFrame 中,计算位置 A 和位置 B 之间的距离。我有这段代码适用于非空坐标的字段:
df['Distance_AB'] = df.apply(lambda x: great_circle((x['latitude_A'],x['longitude_A']), (x['latitude_B'], x['longitude_B'])).meters, axis=1).round()
但是当它遇到空字段时会抛出错误:
ValueError: ('点坐标必须是有限的。(nan, nan, 0.0) 有 已作为坐标传递。', u'发生在索引 2881')
如何保证大圆距离公式不会收到NULL值(没有坐标时会跳过距离计算)?我知道pd.notnull() 函数,但它返回True 或False。
【问题讨论】:
-
修改您的
great_circle函数以对错误输入具有鲁棒性,或者在您的lambda中使用 ternary conditional operator
标签: python pandas dataframe null valueerror