seaborn学习笔记

简介: 数据分析会用到的一些matplotlib和seaborn的画图操作

数据集的可视化展示对于分析数据集内在的规律有着很大帮助,因此我想着先学习一点matplotlib和seaborn的画图操作。

import numpy as np
import pandas as pd
import seaborn as sns
from scipy import stats,integrate
from sklearn.datasets import load_boston
import matplotlib.pyplot as plt
%matplotlib inline

加载数据集:

Data = load_boston()
X=pd.DataFrame(Data["data"])
y=pd.DataFrame(Data["target"])
Data=pd.DataFrame(np.hstack((X,y)))
data=pd.read_csv("Desktop/creditcard.csv")
iris_data = sns.load_dataset('iris') 
Data.columns=['a','b','c','d','e','f','g','h','i','j','k','l','m','n']#从数据集提取出的数据默认列名是自然数字,但是这样下面的lmplot函数会报错,所以手动修改了列名
print(list(Data))#打印列名

打印列名:

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']

中间取了几列做线性拟合:

sns.lmplot(x='a',y='n',data=Data)
sns.lmplot(x='c',y='n',data=Data)
sns.lmplot(x='d',y='n',data=Data)
sns.lmplot(x='sepal_length', y='sepal_width', hue='species', data=iris_data

可以看到,seaborn的lmpolt函数可以直接对数据线性回归拟合,还给出了置信区间。

lmplot中,参数x,y都是列名,data就是使用的数据集,hue是分类,按照鸢尾花的species类别进行分类

image
image

image
image

 sns.distplot(data["V1"],bins=50,kde=False,fit=stats.gamma)#V1V2是数据集的列名
 plt.show()
 sns.distplot(data["V2"],bins=20,kde=True,fit=stats.gamma)#bins为横轴等分数,kde是核分布
 plt.show()#如果像lmplot一样不分开打印会导致图表重叠在一起```
可视化结果如下:
![image](https://yqfile.alicdn.com/a0b90cef40f04e60263e7375698a9bb59ff935a4.png)
![image](https://yqfile.alicdn.com/a7c775b96a529532fb9c3d4ef53e39ee491cb90d.png)

displot函数可以给出一个特征的分布情况,其中的fit=stats.gamma调用scipy中的计算高斯分布的函数,就是图上的黑色密度分布线。

类似的函数还有regplot。

sns.JointGrid(data=Data, x='e', y='n').plot(sns.regplot, sns.distplot)
plt.show()

需要对图表设置样式,即加上.plot(sns.regplot, sns.distplot),否则不显示

这里默认选择了 seaborn 带有的回归拟合散点图以及单变量分布图

可视化结果为:
![image](https://yqfile.alicdn.com/5bd21401318668cf3ddda787eb5e909d7fb72d5b.png)

JointGrid显示了回归结果的同时也给出边缘分布
 
 
多个特征相互比较,可以用PairGrid

sns.PairGrid(data=iris_data,hue='species').map(plt.scatter)

同样也需要设置图表样式

结果的一部分:

![image](https://yqfile.alicdn.com/631f19541cdb4670ac74095096910c2100c968d7.png)

更多的还有像色彩矩阵,小提琴状图,箱形图等,不同的图适用不同的数据集。可视化的最终目的还是直观地了解数据集的嗯不状况,以方便做出最好的处理。
目录
相关文章
|
16天前
|
存储 C语言 Python
【Python】学习笔记day3
【Python】学习笔记day3
26 1
|
4月前
|
SQL 分布式计算 大数据
Python+大数据学习笔记(一)
Python+大数据学习笔记(一)
43 0
|
23天前
|
算法 搜索推荐 测试技术
python排序算法及优化学习笔记1
python实现的简单的排序算法,以及算法优化,学习笔记1
33 1
|
6月前
|
jenkins 持续交付 开发工具
Python学习笔记_Devops_Day05
Python学习笔记_Devops_Day05
|
6月前
|
持续交付 开发工具 数据安全/隐私保护
Python学习笔记_Devops_Day04
Python学习笔记_Devops_Day04
|
6月前
|
JSON JavaScript 前端开发
Python学习笔记_Devops_Day02
Python学习笔记_Devops_Day02
|
6月前
|
SQL 关系型数据库 数据库
Python学习笔记_Day09
Python学习笔记_Day09
|
6月前
|
Python
Python学习笔记_Day08
Python学习笔记_Day08
|
6月前
|
数据安全/隐私保护 Python
Python学习笔记_Day07
Python学习笔记_Day07
|
3月前
|
存储 算法 程序员
Python语言学习笔记-第二阶段
Python语言学习笔记-第二阶段