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。这将很容易掩盖它们,并根据需要进行更换。如果不是,您可能想选择一个阈值。是的,异常值都是相等的。我不知道这可能是某种校准的原因,所以我现在想忽略这种影响。用正向填充代替它们也许是一个开始