栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python数据分析】之可视化Seaborn库

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python数据分析】之可视化Seaborn库

文章目录
  • 前言
  • 系列文章
  • Seaborn绘制统计图形
    • 一、直方图
    • 二、核密度估计曲线
    • 三、绘制散布图
      • 绘制双变量分布
    • 四、绘制二维直方图
    • 五、核密度估计
      • 绘制成对的双变量分布
    • 六、多个成对的双变量分布

前言
  1. Python数据分析结课了,即将结束复习考试,往期记录的只是自己的学习部分,沧海一粟而已,不要停止学习
  2. 想继续学习的小伙伴可以参考《Python数据分析与应用》和系列文章
系列文章
  1. Python数据分析之复习知识点
  2. Python之Series和DataFrame的数据排序
  3. Python之Numpy(二)
  4. Python之pandas
Seaborn绘制统计图形

Seaborn基于Matplotlib核心库进行了更高级的API封装,可以轻松地画出更漂亮的图形,而Seaborn的漂亮主要体现在配色更加舒服,以及图形元素的样式更加细腻。

1.可视化数据的分布 当处理一组数据时,通常先要做的就是了解变量是如何分布的。 •对于单变量的数据来说,采用直方图或核密度曲线是个不错的选择。
•对于双变量来说,可采用多面板图形展现,比如散点图、二维直方图、核密度估计图形等。

Seaborn中提供了一个distplot()函数,它默认绘制的是一个带有核密度估计曲线的直方图。
distplot(a, bins = None,hist = True,kde = True,rug = False, …)

参数作用
a表示要观察的数据
bins用于控制条形的数量
hist表示是否绘制(标注)直方图
kde表示是否绘制高斯核密度估计曲线
rug表示是否在支持的轴方向上绘制rugplot
一、直方图
import seaborn as sns
import numpy as np
get_ipython().run_line_magic('matplotlib', 'inline')
sns.set()           # 显式调用set()获取默认绘图
np.random.seed(0)   # 确定随机数生成器的种子
arr=np.random.randn(100)     #生成随机数组
ax=sns.distplot(arr,bins=10) #绘制直方图

  • 直方图会因为条柱数量的不同导致图表的效果有着很大的差异,为了解决这个问题,可以绘制核密度估计曲线进行展现。
  • 核密度估计是在概率论中用来估计未知的密度函数,属于非参数检验方法之一,可以比较直观的看出数据样本本身的分布特征。

如果希望使用Seaborn用Matplotlib的默认样式,则需要显式地调用set()或set_style()、set_context()和set_palette()中的一个或多个函数,以获取Seaborn或者Matplotlib默认的绘图样式。

二、核密度估计曲线
# 创建包含500个位于[0,100]之间整数的随机数组
array_random=np.random.randint(0,100,500)
# 绘制核密度估计曲线
sns.distplot(array_random,hist=False,rug=True)

三、绘制散布图 绘制双变量分布

通过jointplot()函数可以创建一个多面板图形,以显示两个变量之间的关系及每个变量在单独坐标轴上的单变量分布。

seaborn.jointplot(x, y, data=None, kind=‘scatter’, color=None, size=6, ratio=5, space=0.2, dropna=True, xlim=None, ylim=None, …, **kwargs)

参数作用
kind表示绘制图形的类型
stat_func用于计算有关关系的统计量并标注图
color表示绘图元素的颜色
size用于设置图的大小
ratio表示中心图与侧边图的比例。
space用于设置中心图与侧边图的间隔大小
xlim,ylim表示x,y轴的范围
import pandas as pd # 创建DataFrame对象
dataframe_obj=pd.DataFrame({"x":np.random.randn(500),"y":np.random.randn(500)})
# 绘制散布图
sns.jointplot(x="x",y="y",data=dataframe_obj)


调用jointplot()函数时只要传入kind=“hex“可以绘制二维直方图。

四、绘制二维直方图
# 调用jointplot()函数时只要传入kind=“hex”可以绘制二维直方图。
# 绘制二维直方图
sns.jointplot(x="x",y="y",data=dataframe_obj,kind="hex")


调用jointplot()函数时传入**kind=“kde”**可以绘制核密度估计图形。

五、核密度估计
# 核密度估计
sns.jointplot(x="x",y="y",data=dataframe_obj,kind="kde")

绘制成对的双变量分布

要想在数据集中绘制多个成对的双变量分布,则可以使用pairplot()函数实现,该函数会创建一个坐标轴矩阵,并且显示DataFrame对象中每对变量的关系。

# 加载seaborn中的数据集
dataset = pd.read_csv('d:/tips.csv')
# 绘制多个成对的双变量分布
sns.pairplot(dataset)


完整图片,好不好看吧

六、多个成对的双变量分布
# 加载seaborn中的数据集
tips=pd.read_csv('d:/tips.csv')
# 绘制多个成对的双变量分布
sns.stripplot(x="day",y="total_bill",data=tips)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/918755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号