基于时间的点间平均值

勒柯达

我正在尝试使用Python来获取时间以及在点之间移动的对象之间的平均速度。

数据看起来像这样,

location    initialtime id  speed distance
    1   2020-09-18T12:03:14.485952Z car_uno 72 9km
    2   2020-09-18T12:10:14.485952Z car_uno 83 8km
    3   2020-09-18T11:59:14.484781Z car_duo 70 9km
    7   2020-09-18T12:00:14.484653Z car_trio    85 8km
    8   2020-09-18T12:12:14.484653Z car_trio    70 7.5km

我目前使用的功能本质上是这样的,

Speeds.index = pd.to_datetime(Speeds.index)
..etc

现在,如果我通常这样做,我将采用id的唯一值,

for x in speeds.id.unique():
    Speeds[speeds.id=="x"]...

但是这种方法确实行不通。

仅查看一段时间内是否存在多个id点,然后取给定时间的平均速度的最佳方法是什么?否则,如果没有多个值,则仅返回速度本身。

我可以使用更简单的熊猫滤镜吗?

预期的输出很简单,

area - id - initial time - journey time - average speed.
关键是获得超过两点的车辆的平均时间和行驶时间
盖尔卡

要获取平均速度和旅程时间,您可以使用groupby()或传递确定一个完整旅程的列,例如idarea

import pandas as pd
from io import StringIO

data = StringIO("""
area    initialtime id  speed
    1   2020-09-18T12:03:14.485952Z car_uno 72
    2   2020-09-18T12:10:14.485952Z car_uno 83
    3   2020-09-18T11:59:14.484781Z car_duo 70
    7   2020-09-18T12:00:14.484653Z car_trio    85
    8   2020-09-18T12:12:14.484653Z car_trio    70
""")

df = pd.read_csv(data, delim_whitespace=True)

df["initialtime"] = pd.to_datetime(df["initialtime"])

# change to ["id", "area"] if need more granular aggregation
group_cols = ["id"]

time = df.groupby(group_cols)["initialtime"].agg([max, min]).eval('max-min').reset_index(name="journey_time")

speed = df.groupby(group_cols)["speed"].mean().reset_index(name="average_speed")

pd.merge(time, speed, on=group_cols)

         id journey_time  average_speed
0   car_duo     00:00:00           70.0
1  car_trio     00:12:00           77.5
2   car_uno     00:07:00           77.5

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于定义的时间间隔 (bin) 的时间序列平均值

来自分类Dev

扩展时间平均值

来自分类Dev

使用rolling()函数对基于时间的数据计算简单的移动平均值

来自分类Dev

获取时间平均值-ABAP

来自分类Dev

熊猫-计算时间戳的平均值

来自分类Dev

Mongo中时间间隔的平均值

来自分类Dev

Excel Power Pivot时间平均值

来自分类Dev

日期时间平均值列

来自分类Dev

计算时间串的平均值

来自分类Dev

R,时间序列,平均值,序列

来自分类Dev

计算并绘制时间间隔平均值

来自分类Dev

对mysql的时间间隔取平均值

来自分类Dev

R-计算时间平均值,变量均值(DateTime)

来自分类Dev

条件平均值(“平均值”)

来自分类Dev

条件平均值(“平均值”)

来自分类Dev

平均值的平均值

来自分类Dev

从列表中的某个点计算列表的平均值?

来自分类Dev

基于mdx中不同数量的计数的平均值

来自分类Dev

基于R中条件的滚动平均值

来自分类Dev

基于单选按钮选择的运行总平均值

来自分类Dev

基于第二列间隔的列值的平均值

来自分类Dev

如何基于日期获取列的平均值

来自分类Dev

如何汇总基于两列的计算平均值?

来自分类Dev

Excel查找基于多个条件的平均值(多个值)

来自分类Dev

Python:基于值和频率输入的平均值

来自分类Dev

基于几行的R中的加权平均值

来自分类Dev

使用基于邻居的平均值更改特定值

来自分类Dev

基于熊猫可变窗口的加权平均值

来自分类Dev

基于条件/条件Numpy Python的平均值