Pandas DataFrame: выявлять выбросы и заменять значения в кадре данных на основе условий - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно определить значения выбросов в моем фрейме данных, в моем случае значения выше, чем 4 * Z-показателя.В моем фрейме данных есть много столбцов с сортировкой по дате (2012-01-01 1:30:00).

this is my data set

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

Я пробовал что-то только для одного столбца, но безрезультатно.

hours = ['00:00','01:00','02:00','03:00','04:00','05:00','06:00','07:00','08:00','09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00','23:59']

df = pd.read_excel(file)
df.set_index('Date',inplace=True)

for i in range(24):

    df.loc[df[np.abs((df['column1'].between_time(hours[i],hours[i+1]) - df['column1'].between_time(hours[i],hours[i+1]).mean())/df['column1'].between_time(hours[i],hours[i+1]).std()) > 4], 'column1']='outlier'
...