У меня есть набор данных, который содержит выборки на 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'))
Здесь помечен как правильный ответ, но не работает для меня: Панды интерполируют внутри группы