def computeLocalPval(x,i): wins=np.array([200])*1000 df=[] for i in X.index: res=[] for pad in wins: x=X[(X.index>=i-pad) & (X.index<=i+pad)] kde=utl.getDensity(x[x.index != i]) res+=[utl.getPvalKDE(pd.Series(x.loc[i]),kde)[0]] df+=[pd.Series(res,index=wins,name=i)] df=pd.DataFrame(df) pd.concat([df.apply(lambda x:x.idxmax(),1),df.max(1)],1).plot.scatter(x=0,y=1) a['pval']=df.max(1).values o=a[a.pval>a.pval.quantile(0.999)] pplt.Manhattan(a,Outliers=o) df.max(1).plot() y=utl.scan3way(x,winsize=10,f=np.mean) x.sort_values() y.sort_values()