如何从 seaborn 箱线图中删除异常值


在 Seaborn 中创建箱线图时,您可以使用showfliers=False参数从图中删除异常值:

 sns. boxplot (x=' variable ', y=' value ', data=df, showfliers= False )

如果您只想更改离群值标记的大小,可以使用fliersize参数:

 sns. boxplot (x=' variable ', y=' value ', data=df, fliersize= 3 )

请注意, fliersize的默认大小是5

以下示例展示了如何在实践中使用这些参数。

示例:从 Seaborn 箱线图中删除异常值

假设我们有以下 pandas DataFrame,显示三个不同篮球队球员的得分:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' A ': [5, 7, 7, 9, 12, 78],
                   ' B ': [8, 8, 9, 13, 15, 17],
                   ' C ': [1, 2, 2, 4, 5, 60]})

#melt data frame into long format
df_melted = pd. melt (df)

#view head of DataFrame
print ( df_melted.head ())

  variable value
0 to 5
1 to 7
2 to 7
3 to 19
4 to 22

我们可以使用以下语法创建三个箱线图,显示每个团队得分的分布:

 import seaborn as sns

#create boxplot to visualize distribution of points by team
sns. boxplot (x=' variable ', y=' value ', data=df_melted) 

默认情况下,seaborn 使用菱形标记来显示异常值。

要从图中删除这些异常值,我们可以使用showfliers=False参数:

 import seaborn as sns

#create boxplots and remove outliers
sns. boxplot (x=' variable ', y=' value ', data=df_melted, showfliers= False ) 

请注意,异常值已从图中完全删除。

要简单地更改离群值标记的大小,我们可以使用fliersize参数:

 import seaborn as sns

#create boxplots and adjust markers for outliers to be smaller
sns. boxplot (x=' variable ', y=' value ', data=df_melted, fliersize= 3 ) 

请注意,异常值的标记尺寸要小得多。

您可以随意调整传单尺寸值,使标记尺寸根据您的需要变小或变大。

注意:您可以 在此处找到seaborn.boxplot()函数的完整文档。

其他资源

以下教程解释了如何在seaborn中创建其他常见的可视化:

如何在 Seaborn 中创建饼图
如何在 Seaborn 中创建面积图
如何在 Seaborn 中创建时间序列图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注