Фильтрация контуров пандами в большом файле CSV

У меня есть очень большой фрейм данных, который я импортировал из файла CSV (4865 строк). Это выглядит так:

       -171     -170.7  -170.4   ...       195.6    195.9    196.2
0      0.000000   0.000000 -57.251   ...    -128.360 -128.501 -128.631
1      0.000000   0.000000 -57.249   ...    -128.366 -128.459 -128.524
2      0.000000   0.000000 -57.222   ...    -128.228 -128.256 -128.294
3      0.000000   0.000000 -57.201   ...    -128.124 -128.162 -128.199
4      0.000000   0.000000 -57.234   ...    -128.234 -128.410 -128.733
5      0.000000   0.000000 -57.181   ...    -128.672 -128.758 -128.805

Эти данные являются трехмерным отображением объекта, оно имеет пики значений, которые не нужны. Я пытался удалить их с median_filter функция в пандах. Вот код, который я попробовал:

window = 3
def median_filter(df, window):
     df['median'] = df['b'].rolling(window).median()
     df['std'] = df['b'].rolling(window).std()
     for row in df.b:
         df = df[(df.b <= df['median']+3*df['std']) & (df.b >= df['median']-3*df['std'])]

Похоже, что это никак не повлияет на фрейм данных. У меня также есть трудности с выяснением того, что использовать для window параметр.

Outliners очень высокие или низкие пики в данных. Один пик не нужен только из одного ряда.

0 ответов

Другие вопросы по тегам