python – 从Pandas.DataFrame中的时间戳位置计算速度
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 从Pandas.DataFrame中的时间戳位置计算速度,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2659字,纯文字阅读大概需要4分钟。
内容图文
![python – 从Pandas.DataFrame中的时间戳位置计算速度](/upload/InfoBanner/zyjiaocheng/792/54eb20c66a4a4850a277bbb58c39cd8f.jpg)
我对Pandas很新,但熟悉Numpy和Python.
假设我有一个X的“Pandas.DataFrame”,Y点(float64)由时间(日期时间)索引,我怎么能从中进行pythonically计算速度,假设我已经知道如何计算点之间的欧氏距离?
编辑:我刚刚阅读了关于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]
我想要的是从某种方式获得速度,根据定义,第一次数据采样的速度总是为零(没有来自前一个样本的已知时间值).
非常感谢!
解决方法:
会这样的吗?
In [99]: df
Out[99]:
X Y
2009-08-07 00:00:00 -0.900602 -1.107547
2009-08-07 01:00:00 0.398914 1.545534
2009-08-07 02:00:00 -0.429100 2.052242
2009-08-07 03:00:00 0.857940 -0.348118
2009-08-07 04:00:00 0.394655 -1.578197
2009-08-07 05:00:00 -0.240995 -1.474097
2009-08-07 06:00:00 0.619148 -0.040635
2009-08-07 07:00:00 -1.403177 -0.187540
2009-08-07 08:00:00 -0.360626 -0.399728
2009-08-07 09:00:00 0.179741 -2.709712
In [100]: df['Time'] = df.index.asi8
In [101]: dist = df.diff().fillna(0.)
In [102]: dist['Dist'] = np.sqrt(dist.X**2 + dist.Y**2)
In [103]: dist['Speed'] = dist.Dist / (dist.Time / 1e9)
In [104]: dist
Out[104]:
X Y Time Dist Speed
2009-08-07 00:00:00 0.000000 0.000000 0.000000e+00 0.000000 NaN
2009-08-07 01:00:00 1.299516 2.653081 3.600000e+12 2.954248 0.000821
2009-08-07 02:00:00 -0.828013 0.506708 3.600000e+12 0.970752 0.000270
2009-08-07 03:00:00 1.287040 -2.400360 3.600000e+12 2.723637 0.000757
2009-08-07 04:00:00 -0.463285 -1.230079 3.600000e+12 1.314430 0.000365
2009-08-07 05:00:00 -0.635650 0.104100 3.600000e+12 0.644118 0.000179
2009-08-07 06:00:00 0.860143 1.433462 3.600000e+12 1.671724 0.000464
2009-08-07 07:00:00 -2.022324 -0.146906 3.600000e+12 2.027653 0.000563
2009-08-07 08:00:00 1.042550 -0.212188 3.600000e+12 1.063924 0.000296
2009-08-07 09:00:00 0.540367 -2.309984 3.600000e+12 2.372345 0.000659
内容总结
以上是互联网集市为您收集整理的python – 从Pandas.DataFrame中的时间戳位置计算速度全部内容,希望文章能够帮你解决python – 从Pandas.DataFrame中的时间戳位置计算速度所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。