Нахождение среднего из трех последовательных строк в пандах и групповых - PullRequest
0 голосов
/ 18 марта 2019

У меня есть набор данных GPS (в формате csv) сотен людей, и я должен изучить мобильность их. Мне удалось вычислить расстояние между каждой из двух точек, а затем вычислить скорость, просто разделив на время между этими двумя точками. Я сделал все эти вычисления, используя панд и группировку по псевдониму (это важно, потому что у каждого человека своя траектория, и вы не можете смешивать расстояния и скорости).

Следующий шаг, который я должен сделать, - это вычислить среднее значение каждых трех или четырех скоростей, чтобы очистить некоторые ошибки данных GPS. Я пробовал это, и он работает нормально, но я не могу найти способ сгруппировать его по псевдониму, так как скорости каждого пользователя смешаны. Есть идеи?

enter image description here

enter image description here

1 Ответ

0 голосов
/ 18 марта 2019

это можно сделать, просто используя индекс как способ группировки строк

df['bins'] = df.index // n

и затем собираем группу на «мусорное ведро». чтобы поместить это в более чистую функцию вот код

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...