Filtering out outliers in Pandas dataframe with rolling median

前端 未结 3 712
花落未央
花落未央 2021-01-13 11:20

I am trying to filter out some outliers from a scatter plot of GPS elevation displacements with dates

I\'m trying to use df.rolling to compute a median and standard

3条回答
  •  梦毁少年i
    2021-01-13 11:46

    This is my take on creating a median filter:

    def median_filter(num_std=3):
        def _median_filter(x):
            _median = np.median(x)
            _std = np.std(x)
            s = x[-1]
            return s if s >= _median - num_std * _std and s <= _median + num_std * _std else np.nan
        return _median_filter
    
    df.y.rolling(window).apply(median_filter(num_std=3), raw=True)
    

提交回复
热议问题