数据清洗 Chapter03 | Seaborn常用图形
这篇文章讲述的是Seaborn常用图形。希望这篇数据清洗的文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言~
Seaborn是一个画图工具
Seaborn是基于Matplotlib的一个Python作图模块
配色更加好看,种类更多,但函数和操作比较简单
1、散点图
散点图可直接观察两个变量的分布情况
- 1、使用jiontplot()函数画出散点图
import seaborn as sns
import pandas as pd
import numpy as np
iris = pd.read_csv('./data/iris.csv')
sns.jointplot(x='sepal_length', y='petal_length', data=iris)
- 1
- 2
- 3
- 4
- 5
- 6
- 2、设置参数kind为reg,对散点进行线性拟合
sns.jointplot("sepal_length", "petal_length", data=iris, kind="reg")
- 1
- 3、设置参数kind为hex,绘制六边形箱体联合分布直方图
sns.jointplot("sepal_length", "petal_length", data=iris, kind="hex")
- 1
- 4、设置参数kind为kde,绘制密度曲线图
sns.jointplot("sepal_width", "petal_length", data=iris, kind="kde", space=0, color="g")
- 1
2、盒图(箱线图)
通常最大值和最小值检测数据集中的异常值
通过中位数判断数据集的偏态和尾重
- 1、打开文件
import seaborn as sns
import pandas as pd
import numpy as np
tips = pd.read_csv("./data/tips.csv")
tips.head(3)
- 1
- 2
- 3
- 4
- 5
- 6
- 2、用boxplot(0绘制账单(bill)的盒图
sns.boxplot(x=tips["total_bill"])
- 1
- 3、以天(day)为单位,绘制账单的盒图
sns.boxplot(x="day", y="total_bill", data=tips)
- 1
-
4、分别绘制抽烟者和不抽烟者账单的盒图
-
使用hue指定抽烟(smoker)特征
sns.boxplot(x="day", y="total_bill",hue = "smoker", data=tips,palette = "Set3")
- 1
3、直方图
直方图中,条形的长为对应组的频数与组距的比
直方图能够清楚显示各组频数分布情况
易于显示各组之间频数的差别
- 1、使用distplot()函数绘制直方图
distplot()结合了Matplotlib中的hist()、kdeplot()和rugplot()
sns.distplot(tips["total_bill"])
- 1
- 2、使用参数rug添加地毯图
rug用于观察数据的密度分布
sns.distplot(tips["total_bill"], rug=True, hist=False)
- 1
- 3、使用直方图和最大似然高斯分布拟合展示变量分布
kde用于指定是否在图上添加高斯核密度估计
- kde=False
from scipy.stats import norm
sns.distplot(tips["total_bill"], fit=norm, kde=False)
- 1
- 2
- kde=True
from scipy.stats import norm
sns.distplot(tips["total_bill"], fit=norm, kde=True)
- 1
- 2
- 4、设置vertical参数和color参数,改变直方图的方向和颜色
sns.distplot(tips["total_bill"], vertical=True,color='y')
- 1
4、柱状图
柱状图用于反映离散特征中不同特征值的数目
- 1、使用Seaborn中的.countpolt()绘制柱状图
sns.countplot(x="day", data=tips)
- 1
- 2、使用两个离散变量做柱状图
sns.countplot(x="day", hue="sex", data=tips)
- 1
- 3、绘制水平柱状图
sns.countplot(y="day", hue="sex", data=tips)
- 1
5、核密度图
核密度图(kernel density estimation ,kde) 是一种非参数检验方法
用于估计未知的密度函数
使用Seaborn中的kdeplot()函数绘制单变量或双变量的核密度估计图
- 1、绘制单变量核密度估计图
sns.kdeplot(tips["total_bill"])
- 1
- 2、设置color参数,在核密度曲线下方区域进行颜色填充
sns.kdeplot(tips["total_bill"],shade=True,color='r')
- 1
- 3、绘制双变量核密度图
sns.kdeplot(tips["total_bill"],tips['tip'])
- 1
- 4、n_levels设置层数,cmap设置颜色
sns.kdeplot(tips["total_bill"],tips['tip'], n_levels=30, cmap="Purples_d")
- 1
6、小提琴图
小提琴图是盒图与核密度图的结合
能够一次从多个维度反映出数据的分布
- 1、使用violinplot()函数绘制小提琴图
sns.violinplot(x=tips["total_bill"])
- 1
- 2、根据星期(day)进行分组,绘制特征账单的小提琴图
sns.violinplot(x="day", y="total_bill", data=tips)
- 1
- 4、绘制两个离散变量嵌套分组的小提琴图
palette用于指定seaborn内置颜色
sns.violinplot(x="day", y="total_bill", hue="smoker",data=tips, palette="muted")
- 1
- 5、参数scale用于调节小提琴图的大小
count表示根据不同bin对应观测值多少调节
sns.violinplot(x="day", y="total_bill", hue="sex", data=tips, palette="Set2",split=True,scale="count")
- 1
7、点对图
刻画数据集一对变量之间相互关系,并对单变量做出分布直方图
- 1、使用pairplot()函数绘制点对图
sns.set(style="ticks", color_codes=True)
sns.pairplot(iris)
- 1
- 2
- 2、使用pandas库,也可以绘制点对图,不过比这个难些
pd.scatter_matrix(iris, diagonal='hist', color = 'b',alpha=0.3, figsize=(10, 10), marker='o')
- 1
- 3、设置参数diag_kind,指定对角线子图上的类型
sns.set(style='darkgrid')
sns.pairplot(iris, diag_kind='kde', kind='reg', markers='+')
- 1
- 2
- 4、选择变量,绘制点对图
sns.pairplot(iris,markers='o',x_vars=["sepal_width", "sepal_length"],y_vars=["petal_width", "petal_length"], kind='reg')
- 1
- 5、通过hue作为分类,并用不同颜色标注
sns.set(style='darkgrid')
sns.pairplot(iris, vars=['sepal_width', 'sepal_length'], palette="Set1", size=3)
- 1
- 2
8、回归图
- 1、使用lmplot()函数绘制数据的线性回归图
sns.lmplot(x="total_bill", y="tip", data=tips)
- 1
- 2、设置hue参数,拟合出不同水平的直线
sns.lmplot(x="total_bill",y="tip",hue="smoker",data=tips,palette='Set1')
- 1
- 3、设置col参数,对数据集进行分组:抽烟者和不抽烟者
sns.lmplot(x="total_bill", y="tip", col="smoker", data=tips)
- 1
- 4、设置row和col参数,用性别和抽烟两个离散特征进行分组
sns.lmplot(x="total_bill", y="tip", row="sex", col="time",data=tips, size=3)
- 1
各位路过的朋友,如果觉得可以学到些什么的话,点个赞再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。每个小伙伴的关注都是本人更新博客的动力!!!
文章来源: buwenbuhuo.blog.csdn.net,作者:不温卜火,版权归原作者所有,如需转载,请联系作者。
原文链接:buwenbuhuo.blog.csdn.net/article/details/105440590
- 点赞
- 收藏
- 关注作者
评论(0)