У меня есть программа, которая идеально измеряет температуру каждую секунду. Однако на самом деле этого не происходит. Иногда он пропускает секунду или прерывается на 400 секунд, а затем решает начать запись снова. Это оставляет пробелы в моем 2-n-n-фрейме данных, где в идеале n = 86400 (количество секунд в дне). Я хочу применить какое-то скользящее / скользящее среднее к нему, чтобы получить более хороший график, но если я сделаю это с «необработанными» файлами данных, количество точек данных станет меньше. Это показано здесь , смотрите ось X. Я знаю, что "хорошие данные" еще не выглядят хорошими; Я просто играю с некоторыми значениями.
Итак, я хочу реализовать метод очистки данных, который добавляет данные в фрейм данных. Я думал об этом, но не знаю, как это реализовать. Я думал об этом следующим образом:
Если индекс не равен времени, то нам нужно добавить число в момент времени = индекс. Если этот разрыв составляет только 1 значение, то среднее значение предыдущего числа и следующего числа подойдет мне. Но если оно больше, скажем, 100 секунд не хватает, то необходимо выполнить линейную функцию, которая будет постоянно увеличивать или уменьшать значение.
Итак, я думаю, тренировочный набор может быть таким:
index time temp
0 0 20.10
1 1 20.20
2 2 20.20
3 4 20.10
4 100 22.30
Здесь я хотел бы получить значение для индекса 3, времени 3 и значений, отсутствующих между временем = 4 и временем = 100. Я сожалею о моих навыках форматирования, надеюсь, это понятно.
Как бы я занялся программированием этого?