import numpy as np
import pandas as pd
from pandas import Series
def filter_extereme_MAD(series,n):
median=series.quantile(0.5)
n1_median=((series-median).abs()).quantile(0.50)
max_rangef=median+n*n1_median
min_range=median-n*n1_median
return np.clip(series,min_range,max_rangef)
data6=Series([18,18,19,19,20,20,100])
data6
data7=filter_extereme_MAD(data6,7)
data7
def three_sigma(series,n):
mean=series.mean()
std=series.std()
max_range=mean+n*std
min_range=mean+n*std
return np.clip(series,min_range,max_range)
data6=Series([18,18,19,19,20,20,60])
data7=three_sigma(data6,3)
data7
def quantile_drop(series,min,max):
series=series.sort_values()
q=series.quantile([min,max])
return np.clip(series,q.iloc[0],q.iloc[1])
data7=quantile_drop(data6,0.1,0.8)
data7