我有数百个人的GPS数据集(csv格式),我必须研究他们的机动性。我设法计算出每两个点之间的距离,然后通过简单地除以这两个点之间的时间增量来计算速度。我已经使用熊猫和按昵称分组进行了所有这些计算(这很重要,因为每个人的轨迹不同,并且您无法混合距离和速度)。
下一步,我要计算每三个或四个速度的平均值,以清除一些GPS数据错误。我已经尝试过了,但效果很好,但是由于每个用户的速度不一,我无法找到按昵称进行分组的方法。有什么想法吗?
答案 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}}