Python Resample и Interpolate внутри группы - PullRequest
0 голосов
/ 24 мая 2019

У меня есть набор данных, который содержит выборки на 1-секундном уровне из данных о тренировках (частота сердечных сокращений, ватты и т. Д.). Подача данных не идеальна, и иногда имеются пробелы.Мне нужно иметь набор данных с интервалами в 1 секунду без пропущенных строк.

После повторной выборки данных он выглядит следующим образом:

    activity_id watts
t                   
1   12345       5
2   12345       NaN
3   12345       15
6   98765       NaN
7   98765       10
8   98765       12

После повторной выборки я не могу получитьинтерполировать для правильной работы.Проблема в том, что интерполяция проходит по всему фрейму данных, и мне нужно, чтобы он «сбрасывался» для каждого идентификатора тренировки в фрейме данных.Данные должны выглядеть после своей правильной работы следующим образом:

   activity_id watts
t                   
1   12345       5
2   12345       10
3   12345       15
6   98765       NaN
7   98765       10
8   98765       12

Вот фрагмент кода, который я пробовал.Он не выдает никаких ошибок, но также не выполняет интерполяцию ...

seconds = 1
df = df.groupby(['activity_id']).resample(str(seconds) + 'S').mean().reset_index(level='activity_id', drop=True)
df = df.reset_index(drop=False)
df = df.groupby('activity_id').apply(lambda group: group.interpolate(method='linear'))

Здесь помечен как правильный ответ, но не работает для меня: Панды интерполируют внутри группы

...