学习网址:https://www.lanqiao.cn/courses/1283/learning?id=10760
(一)单变量可视化
1.直方图:关键词“柱”“高斯分布”
hist()
features = [‘Total day minutes’, ‘Total intl calls’]
df[features].hist(figsize=(10, 4)) #10和4表示图的宽和高
2.密度图(density plots)
plot():
df[features].plot(kind=‘density’, subplots=True, layout=(1, 2),
sharex=False, figsize=(10, 4), legend=False, title=features)
# layout : tuple (optional) #布局。layout=(2, 3)两行三列,layout=(2, -1)两行自适应列数
# sharex : boolean, default True if ax is None else False#如果ax为None,则默认为True,否则为False
# title : string#图片的标题用字符串
总结:displot()可以同时显示直方图和密度图
sns.distplot(df['Total intl calls'])
3.箱型图和提琴型图
箱型图:sns.boxplot(x=‘Total intl calls’, data=df)
提琴形图:
_, axes = plt.subplots(1, 2, sharey=True, figsize=(6, 4))
sns.boxplot(data=df['Total intl calls'], ax=axes[0])
sns.violinplot(data=df['Total intl calls'], ax=axes[1])
4.频率表(value_counts() )和countplot()
频率表的图形化表示是条形图
plt.subplot(nrows, ncols, index, **kwargs)位置是由三个整型数值构成,第一个代表行数,第二个代表列数,第三个代表索引位置。举个列子:plt.subplot(2, 3, 5) 和 plt.subplot(235) 是一样一样的。需要注意的是所有的数字不能超过10。
条形图和直方图的区别如下:
- 直方图适合查看数值变量的分布,而条形图用于查看类别特征。 直方图的 X 轴是数值;
- 条形图的 X 轴可能是任何类型,如数字、字符串、布尔值。
- 直方图的 X 轴是一个笛卡尔坐标轴;条形图的顺序则没有事先定义!
条形图:
_, axes = plt.subplots(nrows=1, ncols=2, figsize=(12, 4))
sns.countplot(x='Churn', data=df, ax=axes[0])
sns.countplot(x='Customer service calls', data=df, ax=axes[1])
散点图:
散点图(scatter plot)将两个数值变量的值显示为二维空间中的笛卡尔坐标(Cartesian coordinate)。通过 matplotlib 库的 scatter() 方法可以绘制散点图。
plt.scatter(df['Total day minutes'], df['Total night minutes'])