Настройка границ для удаления выбросов в Python Pandas Dataframe - PullRequest
0 голосов
/ 24 октября 2019

На следующем кадре данных pandas у меня есть столбец ('Diff'), который является скользящим средним для дифференциации сигнала.

import pandas as pd


data = [
(4,1,1)
,(5,1,0)
,(6,1,0)
,(10,0,0)
,(15,0,0)
,(20,0,0)
,(25,0,0)
,(10,0,0)
,(9,1,0)
,(7,1,0)
,(5,1,0)
,(4,1,1)
,(3,1,1)
]

df = pd.DataFrame(data, columns=['Diff','Outlier_Mask','Improved_Mask'])
print(df)

Я использую это скользящее среднее для обнаружения периодов сбоев при обнаружении датчика (онгенерирует неверные данные, с высокой разницей). Затем столбец «маска» представляет мои текущие критерии:

Когда Diff> 10, Маска = 0, Остальное = 1.

Это работает до предела, у меня естьошибки интерпретации в начале и в конце сбоя датчика, когда разница меньше 10, но уже создаются недействительные данные.

Я хочу установить низкий порог (<5, как столбец «Улучшенная маска») для уточнениямаска, например: </p>

Когда «Маска» = 0, «Улучшенная маска» = 0 с / до разницы <5 </strong>, глядя до и после этого пика. Как я могу приступить к достижению такого результата?

...