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