Pandas DataFrame:根据条件识别异常值并替换数据框中的值

时间:2018-10-25 20:30:58

标签: python pandas outliers

我需要确定数据框中的离群值,在我的情况下,该值应高于4 * Z分数。我的数据框有很多列,并按日期排序(2012-01-01 1:30:00)。

this is my data set

这些值遵循时间模式和温度数据,因此我们需要评估给定数据与其他数据是否同时存在差异。例如,如果我将一个下午的记录与其他期间的值进行比较,则可以认为这是错误的。

我只尝试了一篇专栏文章,但无济于事。

hours = ['00:00','01:00','02:00','03:00','04:00','05:00','06:00','07:00','08:00','09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00','23:59']

df = pd.read_excel(file)
df.set_index('Date',inplace=True)

for i in range(24):

    df.loc[df[np.abs((df['column1'].between_time(hours[i],hours[i+1]) - df['column1'].between_time(hours[i],hours[i+1]).mean())/df['column1'].between_time(hours[i],hours[i+1]).std()) > 4], 'column1']='outlier'

0 个答案:

没有答案