【发布时间】:2012-09-01 20:11:17
【问题描述】:
我对 Pandas 很陌生,但熟悉 Numpy 和 Python。
假设我有一个按时间 (datetime) 索引的 X、Y 点 (float64) 的“Pandas.DataFrame”,如果我已经知道如何计算点之间的欧几里德距离,我该如何计算速度?
编辑:我刚刚阅读了pandas.Series.diff() 的帮助,但我仍然想用另一个函数“替换” diff 上使用的减法,比如“euclidean_distance()”。有没有办法做到这一点?
DataFrame 看起来像(第一列中的索引,第二列中的位置):
2009-08-07 16:16:44 [37.800185, -122.426361]
2009-08-07 16:16:48 [37.800214, -122.426153]
2009-08-07 16:16:49 [37.800222, -122.426118]
2009-08-07 16:16:52 [37.800197, -122.426072]
2009-08-07 16:17:32 [37.800214, -122.425903]
2009-08-07 16:17:34 [37.800236, -122.425826]
2009-08-07 16:17:40 [37.800282, -122.425534]
2009-08-07 16:17:44 [37.800307, -122.425315]
2009-08-07 16:17:46 [37.800324, -122.425207]
2009-08-07 16:17:47 [37.800331, -122.425153]
2009-08-07 16:17:49 [37.800343, -122.425047]
2009-08-07 16:17:50 [37.800355, -122.424994]
2009-08-07 16:17:51 [37.800362, -122.424942]
2009-08-07 16:17:54 [37.800378, -122.424796]
2009-08-07 16:17:56 [37.800357, -122.424764]
我想要的是某种从中获得速度的方法,前提是根据定义,第一个数据样本的速度始终为零(前一个样本的时间增量未知)。
非常感谢!
【问题讨论】:
标签: python time-series pandas