我想完成下图中的逐行之间根据坐标点计算距离
下面是编写的计算函数
from math import sin, asin, cos, radians, fabs, sqrt
EARTH_RADIUS=6371 # 地球平均半径,6371km
def hav(theta):
s = sin(theta / 2)
return s * s
def get_distance_hav(row0, row1):
"用haversine公式计算球面两点间的距离。"
# 经纬度转换成弧度
lat0 = row0['latitude']
lng0 = row0['longitude']
lat1 = row1['latitude']
lng1 = row1['longitude']
lat0 = radians(lat0)
lat1 = radians(lat1)
lng0 = radians(lng0)
lng1 = radians(lng1)
dlng = fabs(lng0 - lng1)
dlat = fabs(lat0 - lat1)
h = hav(dlat) + cos(lat0) * cos(lat1) * hav(dlng)
distance = 2 * EARTH_RADIUS * asin(sqrt(h))
return distance
运行
df_test['distance_interval'] = get_distance_hav(df_test, df_test.shift(1))
报错cannot convert the series to 数据类型转换问题
请教大佬想完成这个计语法该怎么写