如何将时间序列数据中的经度和纬度从每日转换为每周?

数据挖掘 时间序列 预处理
2022-02-26 01:56:36

我有这样的时间序列数据:

日期 经度 纬度
2010 年 1 月 1 日 -5.42766 107.5784
2010 年 2 月 1 日 -6.42728 104.5245
2010 年 7 月 1 日 -7.42702 105.5816
14/01/2010 -4.42728 99.57834
17/01/2010 -6.41523 103.5562
... ... ...
2013 年 12 月 31 日 -4.42728 99.57834

这是位置数据(经度和纬度)。我想将数据从每天更改为每周,如下所示:

星期 经度 纬度
第 1 周 ... ...
第 2 周 ... ...
第 3 周 ... ...
第 4 周 ... ...

如何转换数据?因为计算数据的平均值没有意义,因为它是位置数据。

2个回答

我不确切知道它是否对您的情况有用,但您可以使用一周的最后一天,因此在一周结束时对象的坐标。

我将您的示例数据复制到一个文本文件中,使用 Pandas 读取它,并通过获取每周最后一天的坐标从每天到每周重新采样数据。

df = pd.read_csv('untitled.txt', 
                 infer_datetime_format=True, 
                 parse_dates=['date'], dayfirst=True)
df.set_index('date', inplace=True)
df.resample('W').last()

因此,问题实际上是关于如何聚合数据来回答您的问题,这与您正在使用地理位置数据这一事实无关,而与您试图回答的问题有更多关系。让我举几个例子:

  • 你是一名海洋科学家,在她穿越我们星球海洋的旅程中,你每天都在跟踪一只鲸鱼。每周,您可能想知道一周内行驶的距离。然后计算第一天的纬度/经度与一周的最后一天之间的(Haversine)距离。或者更好的是,您希望每周记录初始位置、行驶距离、最终位置。

  • 您是一名商业智能分析师,正在记录所有登录您的应用程序的用户。您的经理很想知道您的用户主要来自哪个地区。然后,您可以选择聚合列表中的所有不同位置,然后显示为热图,或者只是将它们平均起来,为您提供大多数用户所在区域的“中心”。

  • 您要添加一个出于其他原因记录此数据的角色,并且刚刚提出了一个新问题来抛出此数据,因此您需要使用特定于问题的聚合