自从我开始使用 Pandas DataFrame 反序列化 GPS 数据并执行一些数据处理和分析以来,已经有几个月了。
尽管我对 Pandas 的健壮性、灵活性和强大功能印象深刻,但我对哪些功能以及应该使用哪种方式对数据进行正确建模感到有点迷茫,无论是为了清晰、简单还是计算速度。
基本上,每个 DataFrame 主要由一个datetime
对象索引,至少有一列用于纬度-经度元组,一列用于高程。
我做的第一件事是计算一个新列,其中坐标对之间的测地距离(第一个是 0.0),使用一个以两个坐标对作为参数的函数,从那个新列我可以计算沿轨道的累积距离,我将其用作线性参考系统
我需要解决的问题是:
- 有没有一种方法可以在同一个数据框中使用两个不同的单调递增列(累积距离和时间戳),在运行时在每个给定上下文中选择更方便的列,并使用这些索引自动对齐新插入的行?
- 在应用
diff
可以矢量化的函数的特定情况下(像数组操作而不是迭代的成对循环一样应用),有没有办法在熊猫中惯用地做到这一点?我应该创建一个支持 diff (__sub__
) 操作的“坐标”类以便我可以dataframe.latlng.diff
直接使用吗?
我不确定这些问题是否得到了很好的表述,但这至少在一定程度上是由于大量的可能性和一些零散的文档(还)。
此外,非常欢迎任何关于将 Pandas 用于 GPS 数据(跟踪日志)或地理空间数据的提示。
谢谢你的帮助!