在大型CSV文件中使用熊猫过滤轮廓轮廓线

时间:2019-02-19 15:28:32

标签: python pandas filter filtering outliner

我有一个非常大的数据框,该数据框是从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

此数据是对象的3D映射,具有不需要的峰值。我试图通过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参数要使用什么。

轮廓仪的数据中的峰非常高或很低。仅一行就不需要一个峰。

0 个答案:

没有答案