在涉及两行的数据框上应用函数
我有一个包含三列和一百万行的 pandas 数据框:
time longitude latitude
1 x1 y1
2 x2 y2
3 x3 y3
...
我想用一个函数来计算基于经度和纬度的距离。简单来说,我需要一种方法,让这个函数能够处理数据框中相邻的两行数据。
compute_distance(x1,y1,x2,y2)
我知道有一些方法可以沿着轴 1 和轴 0 应用函数,但它们似乎只适用于单独的一行或一列。我该如何表达涉及多行或多列的内容呢?
1 个回答
1
应用程序可能无法做到这一点,但你可以尝试一些简单的方法,比如下面这样:
def compute_distance(df):
next_df = df.shift(-1)
return distance_on_unit_sphere(df["lat"], df["long"],
next_df["lat"], next_df["long"]):
从这里开始了解更多信息 http://www.johndcook.com/python_longitude_latitude.html