Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用正向填充替换高值_Python_Dataframe - Fatal编程技术网

Python 用正向填充替换高值

Python 用正向填充替换高值,python,dataframe,Python,Dataframe,我有一个数据框架,其中一些特性包含非常高的异常值。我想摆脱那些突然非常高的值 ax.plot(df['Temperature']) 为了减少这种效果,我根据分位数使用了clip,但效果不如我所希望的好 ax.plot(df['Temperature'].clip(lower=df['Temperature'].quantile(0.05), upper=df['Temperature'].quantile(0.95))) 如何使用正向填充替换这些非常高的值?如果温度在df'Temperatu

我有一个数据框架,其中一些特性包含非常高的异常值。我想摆脱那些突然非常高的值

ax.plot(df['Temperature'])
为了减少这种效果,我根据分位数使用了clip,但效果不如我所希望的好

ax.plot(df['Temperature'].clip(lower=df['Temperature'].quantile(0.05), upper=df['Temperature'].quantile(0.95)))
如何使用正向填充替换这些非常高的值?如果温度在df'Temperature'[100]处跳变,直到df'Temperature'[120],然后用df'Temperature'[99]替换这些值

可能是无效的指数,然后使用fillna回填它们

>>>seq=np.arange0,10 >>>序号[4:7]*=100 >>>df=pd.DataFrameseq,列=['temp'] 临时雇员 0 0 1 1 2 2 3 3 4 400 5 500 6 600 7 7 8 8 9 9 >>>df[df.temp>=300]=np.nan相应地调整条件 临时雇员 0 0.0 1 1.0 2 2.0 3 3.0 4楠 5南 6南 7 7.0 8 8.0 9 9.0 >>>df.fillnamethod='回填' 临时雇员 0 0.0 1 1.0 2 2.0 3 3.0 4 7.0 5 7.0 6 7.0 7 7.0 8 8.0 9 9.0
使用clip使异常值更难检测,因此您可能不想这样做。是的,它似乎没有帮助异常值是否都相等?对我来说,每一个的值都是100。这将很容易掩盖它们,并根据需要进行更换。如果不是,您可能想选择一个阈值。是的,异常值都是相等的。我不知道这可能是某种校准的原因,所以我现在想忽略这种影响。用正向填充代替它们也许是一个开始