У меня есть набор данных со следующей проблемой.
Иногда датчик температуры возвращает одинаковые показания в одну и ту же минуту, когда иногда один из двух дубликатов является «разумным», а другой слегка отключен.
Например:
TEMP TIME
1 24.5 4/1/18 2:00
2 24.7 4/1/18 2:00
3 24.6 4/1/18 2:05
4 28.3 4/1/18 2:05
5 24.3 4/1/18 2:10
6 24.5 4/1/18 2:10
7 26.5 4/1/18 2:15
8 24.4 4/1/18 2:15
9 24.7 4/1/18 2:20
10 22.0 4/1/18 2:20
Строки 5, 7 и 10 - это показания, которые должны быть удалены, так как они слишком высокие или низкие (не имеет смысла, что в течение 5 минут он будет подниматься и опускаться более чем на градус в относительно стабильной среде).
Цель в конце этого набора данных состоит в том, чтобы «усреднить» аналогичные значения (например, в строке 1 и 2) и просто полностью удалить слишком экстремальные линии (например, строки 5 и 7) из набора данных.
В настоящее время моя идея сформулировать это состоит в том, чтобы посмотреть на ранее полученную строку и, если один из двух дубликатов равен +/- 0,5 градуса, пометить в 3-м столбце значение ИСТИНА, чтобы я мог отфильтровать все значения ИСТИНА в конец. Я не уверен, как сообщить в операторе if, что я ищу + или - 0,5 от предыдущего числа, однако. Кто-нибудь знает?