首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算给定速度的加速度

计算给定速度的加速度
EN

Stack Overflow用户
提问于 2017-11-08 07:30:19
回答 1查看 4K关注 0票数 4

对不起,如果这看起来是个愚蠢的问题,我有一个数据集,看起来像这样

代码语言:javascript
复制
type    time    latitude    longitude   altitude (m)    speed (km/h)    name    desc    currentdistance timeelapsed
T   2017-10-07 10:44:48 28.750766667    77.088805000    783.5   0.0 2017-10-07_10-44-48     0.0 00:00:00
T   2017-10-07 10:44:58 28.752345000    77.087840000    853.5   7.8         198.70532   00:00:10
T   2017-10-07 10:45:00 28.752501667    77.087705000    854.5   7.7         220.53915   00:00:12

我不太清楚该如何处理,计算加速度需要考虑速度和时间的差异,对我可以尝试什么有什么建议吗?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-08 09:49:51

假设您的数据是从CSV加载的,如下所示:

代码语言:javascript
复制
type,time,latitude,longitude,altitude (m),speed (km/h),name,desc,currentdistance,timeelapsed
T,2017-10-07 10:44:48,28.750766667,77.088805000,783.5,0.0,2017-10-07_10-44-48,,0.0,00:00:00
T,2017-10-07 10:44:58,28.752345000,77.087840000,853.5,7.8,,,198.70532,00:00:10
T,2017-10-07 10:45:00,28.752501667,77.087705000,854.5,7.7,,,220.53915,00:00:12

time列被转换为datetime对象,timeelapsed列被转换为秒。从这一点出发,可以通过计算每一行之间的speed (km/h)差异并除以每一行之间的time差异来添加一个time列,如下所示:

代码语言:javascript
复制
from datetime import datetime    
import pandas as pd
import numpy as np

df = pd.read_csv('input.csv', parse_dates=['time'], dtype={'name':str, 'desc':str})
df['timeelapsed'] = (pd.to_datetime(df['timeelapsed'], format='%H:%M:%S') - datetime(1900, 1, 1)).dt.total_seconds()
df['acceleration'] = (df['speed (km/h)'] - df['speed (km/h)'].shift(1)) / (df['timeelapsed'] - df['timeelapsed'].shift(1))

print df

给予你:

代码语言:javascript
复制
  type                time   latitude  longitude  altitude (m)  speed (km/h)                 name desc  currentdistance  timeelapsed  acceleration
0    T 2017-10-07 10:44:48  28.750767  77.088805         783.5           0.0  2017-10-07_10-44-48  NaN          0.00000          0.0           NaN
1    T 2017-10-07 10:44:58  28.752345  77.087840         853.5           7.8                  NaN  NaN        198.70532         10.0          0.78
2    T 2017-10-07 10:45:00  28.752502  77.087705         854.5           7.7                  NaN  NaN        220.53915         12.0         -0.05
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47173925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档