在涉及两行的数据框上应用函数

1 投票
1 回答
1956 浏览
提问于 2025-04-18 16:41

我有一个包含三列和一百万行的 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

撰写回答