如何从 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中创建其他常见的可视化: