Python
关于EDA和Visualization:
两个常用的可视化package:matplotlib 和 seaborn
相关链接:
后者可视为前者的一个上层api,且支持pandas数据类型
seaborn中几个方便的绘图函数:
-
jointplot
: 同时显示二元散点图和各自的频率图
-
boxplot
: 箱图,将二元分布按横轴(离散,通常是categorical)展开,观察纵轴变量的(一维)分布 -
stripplot
: 用途类似箱图,可以叠加分布散点,利用jitter = True
可以避免散点重合 -
violinplot
: “小提琴”图,图的功能类似箱图,可横向比较纵轴分布,主要采用kernel density estimation(KDE)方法完成目标分布的近似
-
kdeplot
: 用KDE绘制密度曲线图
-
FacetGrid
: 网格图。事实上这是一个seaborn类,通过指定数据(dataframe)以及其他参数之后实例化,绘图需要结合后续的类方法如.map()
指定图的种类和.add_legend()
加图例。适用于数据有不止一个需要展开的类别变量的情况,实例化网格对象时的三个属性row
,col
和hue
均可作为展开方向 -
pairplot
: 基于FacetGrid
的二元关系网格图,可以快捷绘制变量间的二元相关图矩阵——散点(非对角单元格),频率分布/KDE(对角单元格) -
heatmap
: 热力图,热力图可以将单元格的数值连续映射为指定色段,适用于需要观察矩形表(即行和列分别对应一个离散变量)单元格数值分布的情况
heatmap_sex_survived.jpg
其他多元可视化方法:
pandas
中的andrew_curves
(傅里叶级数)和parallel_coordinates
网友评论