如何基于Seaborn Boxplot替换离群值

时间:2019-07-13 23:38:42

标签: python seaborn boxplot

嗨,我有一个数据框,其中包含“年”,“月”,“天”,“小时”和“值”(每小时)。

我使用seaborn boxplot可视化离群值并将其隐藏(使用showflier = False,请参见下面的示例代码)。有没有一种快速的方法可以使用seaborn boxplot属性替换所有级别(例如,年,月,日,小时)的异常值?

原始数据集包含时间和值:Y-M-D H:M:S,值。 我将时间转换为日期时间,并添加了新列-年,月,日,小时。

要基于所有级别的箱形图删除异常值,我可能会按不同的时间间隔使用groupby,想知道是否可以使用seaborn箱形图属性?或者在这种情况下最好的方法是什么?由于我需要在数据可视化中生成这些图。

sns.boxplot(x='year', y='Value',data=data,ax=axes[0,0],showfliers=False)
sns.boxplot(x='month',y='Value',data=data,ax=axes[0,1],showfliers=False)
sns.boxplot(x='week', y='Value',data=data,ax=axes[1,0],showfliers=False)
sns.boxplot(x='day', y='Value', data=data,ax=axes[1,1],showfliers=False)
sns.boxplot(x='hour',y='Value',data=data,ax=axes[2,0],showfliers=False)


# The original dataset looks like this 
2017-03-31 15:45:00,10
2017-03-31 16:00:00,23
2017-03-31 16:15:00,45
2017-03-31 16:30:00,5
2017-03-31 16:45:00,46
2017-03-31 17:00:00,7
2017-03-31 17:15:00,3
2017-03-31 17:30:00,86
2017-03-31 17:45:00,51
2017-03-31 18:00:00,75
2017-03-31 18:15:00,74
2017-03-31 18:30:00,09
2017-03-31 18:45:00,79
2017-03-31 19:00:00,72
2017-03-31 19:15:00,80
2017-03-31 19:30:00,5
2017-03-31 19:45:00,45
2017-03-31 20:00:00,7
2017-03-31 20:15:00,7
2017-03-31 20:30:00,73
2017-03-31 20:45:00,88
....

#Converted the above data into the df below

                     Date   Value  year month week day hour
...
17    2013-11-08 06:00:00     75  2013    11   44   5   06
18    2013-11-08 07:00:00     49  2013    11   44   5   07
19    2013-11-08 08:00:00   757.0  2013    11   44   5   08
20    2013-11-08 09:00:00  209.0  2013    11   44   5   09
21    2013-11-08 10:00:00  56.0  2013    11   44   5   10
22    2013-11-08 11:00:00  540.0  2013    11   44   5   11
23    2013-11-08 12:00:00  229.0  2013    11   44   5   12
24    2013-11-08 13:00:00  413.0  2013    11   44   5   13
25    2013-11-08 14:00:00  427.0  2013    11   44   5   14
...

0 个答案:

没有答案