Python 数据可视化分析

绘制箱型图

在实际进行图像绘制时, Seaborn 会根据图像,而 Pyplot 会按照默认配置纵向绘制图形。

Seaborn 类似,我们也可以借助 pandas.DataFrame.plot(kind='box') 间接调用 matplotlib.pyplot 绘制箱型图。

img

img

提琴图

Seaborn 封装优于直接使用 Pyplot 的好处,在于 Seaborn 能够支持绘制提琴图(Pyplot 并没有这个功能)。

按教程描述,提琴图对箱线图进行了平滑修整,能够显示平滑后的数据整体分布,而箱型图仅聚焦于特定的统计学指标。

Seaborn 子图组绘制

Seaborn 是基于 Pyplot 的更高层级封装,其内部仍在使用 Pyplot 进行图形绘制。因此,我们仍旧需要借助 Pyplot 创建可视化面板与子图,并将子图 Subplots 或坐标系 Axes 传递给 Seaborn 相关函数的 ax 参数。

热力图

热力图起源于早期以色彩可视化数值矩阵的方式,在本节课程中用来对相关矩阵进行可视化。尽管 Pyplot 本身支持绘制热力图,但比起更加强大的 Seaborn 还是太复杂了。

关联性散点图

seaborn.jointplot() 支持使用 kind=? 关键字参数指定图表类型,其中:

  • 指定为 scatter (默认)会生成散点图;
  • 指定为 kde 则会以『核密度估计』生成概率密度图。

散点图矩阵

与条形统计图、频数直方图、概率密度曲线图等单变量统计性图表和热力图等双变量相关性图表相比,我们更希望能在尽可能少的步骤内生成多组变量两两之间的散点图以批量分析变量间相关性。此时,Seaborn 提供的 pairplot 起到了非常方便的效果。

交叉表 VS 透视表

Pandas 为我们提供了内置的透视表 pivot_table 和交叉表 crosstab 生成函数,我们可以发现交叉表在一定程度上和透视表的形式极为相似。这两种表之间有什么关系呢?

透视表是一种数据汇总工具,它可以根据单个或多个属性对数据表进行聚合操作,并根据行/列上的分组键将统计学结果分配到相应单元格中。由于透视表涉及分组聚合操作,我们也可以选择使用 groupbyaggregate 函数人工构造透视表,但 pivot_table 的调用显得更直接、更方便。

透视表是分组聚合的特例,交叉表则是透视表的特例,它的聚合统计函数只有单独的频数/频率统计。同样地,我们也可以借助 pivot_table 函数人工构造交叉表。