5.2.2 单变量可视化分析

数据分析首先从单变量开始。单变量分析是通过数理统计和可视化的方法对变量分布情况和规律进行描述和刻画。不同类型的变量需要使用不同的方法和指标,下面按不同类型的变量分别介绍。

1.类别变量分析

类别变量的描述性统计指标主要有频数、占比、众数等,使用条形图和饼图就能直观展现。

(1)条形图

条形图用宽度相同的条形的高度或长度来表示类别数据的多少,可以非常直观地展示类别之间的频数差别,如图5-5所示。


sns.countplot(titanic_df["embarked"])

(2)饼图

饼图展示的是占比指标,用于强调各项类别分别占总体的比例情况。


#先对类别变量‘embarked’进行聚合计算,计算各类别频数
embarked_cnt=titanic_df.groupby('embarked')['embarked'].count()
#使用Pandas 接口画饼图
embarked_cnt.plot.pie(autopct='%1.2f%%', figsize=(6, 6))

输出如图5-6所示。

图5-5 条形图

图5-6 饼图

2.数值变量分析

数值变量的描述性统计指标主要有平均值、分位数、峰度、偏度、方差、标准差等,常以直方图、箱线图、小提琴图等进行可视化。

(1)直方图

直方图是一种对连续变量(定量变量)的概率分布的图形展示,被卡尔·皮尔逊(Karl Pearson)首先引入数值变量分析中。直方图可以看作没有间隔的条形图。为了构建直方图,第一步是将值的范围分段,然后计算每个间隔中有多少值。这些值通常被指定为连续的、不重叠的变量间隔。间隔必须相邻,并且通常(但非必须)是相等的大小。


#输入空值会报错,因此需要剔除空值
sns.distplot(titanic_df[titanic_df.age.isnull().values == 
    False]['age'],kde=False)

输出如图5-7所示。

图5-7 直方图

(2)箱形图

箱形图用于显示数据分散的情况,因其形状如箱子而得名。箱形图于1977年由美国著名统计学家约翰·图基(John Tukey)发明,它能显示数据分散情况的关键信息。如图5-8所示,箱形图中间深色矩形部分的三条线分别对应上四分位数Q3、中位数和下四分位数Q1。远离中间深色矩形部分的两条线是上边缘和下边缘,一般上下边缘范围外的属于异常值。


sns.boxplot(titanic_df['age'])

(3)小提琴图

小提琴图的功能与箱形图类似,它展示了数据分布及其概率密度,从而可以直观进行比较。与箱形图不同的是,小提琴图的所有绘图单元都与实际数据点对应,中间的黑色粗条表示四分位数范围,而白点表示中位数,从其延伸的黑线代表95%置信区间。

箱形图隐藏了有关数据分布的重要细节,例如,我们不能了解数据分布是双模还是多模。小提琴图可以显示更多详情,但也可能包含较多干扰信息,例如小样本的小提琴图可能看起来非常平滑,这种平滑具有误导性,实践中绘制小提琴图时需要留意样本呈的大小。


sns.violinplot(y=titanic_df['age'])

输出如图5-9所示。

图5-8 箱形图

图5-9 小提琴图