Фильтрация контуров пандами в большом файле CSV - PullRequest
0 голосов
/ 19 февраля 2019

У меня очень большой фрейм данных, который я импортировал из файла 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.

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

...