查找熊猫和groupby中连续三行的平均值

时间:2019-03-18 12:02:04

标签: python pandas dataframe

我有数百个人的GPS数据集(csv格式),我必须研究他们的机动性。我设法计算出每两个点之间的距离,然后通过简单地除以这两个点之间的时间增量来计算速度。我已经使用熊猫和按昵称分组进行了所有这些计算(这很重要,因为每个人的轨迹不同,并且您无法混合距离和速度)。

下一步,我要计算每三个或四个速度的平均值,以清除一些GPS数据错误。我已经尝试过了,但效果很好,但是由于每个用户的速度不一,我无法找到按昵称进行分组的方法。有什么想法吗?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

这可以简单地通过使用索引作为对行进行分组的方式来完成

import pandas as pd

df = pd.DataFrame({'A':[1,2,3,3,4,4,4],'B':[1,2,3,4,5,6,7]})
def n_average(df, n):
    df['bin'] = df.index // n
    grouped_df = df.groupby(['bin']).mean()
    return grouped_df
n_average(df, 3)

,然后对“ bins”进行分组。将其放在更干净的功能中的是代码

{{1}}