Python数据可视化实战——iris数据集可视化
首先,这个Python数据可视化实战是在Iris数据集上完成的。所使用的是Python 3环境下的jupyter notebook。
实战中我们需要用到的库包括:pandas , matplotlib , seaborn.
%matplotlib notebook #在jupyter notebook使用交互式绘图
# 首先,我们导入pandas, 一个可用于数据处理和CSV文件输出输出的库
import pandas as pd# 同时导入seaborn, 一个Python里面的图形库
import warnings # 当前版本的seaborn会生成一堆警告,我们会忽略它
warnings.filterwarnings("ignore")
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="white", color_codes=True)# 接着我们导入Iris flower 数据集, 这个数据集是在路径"../input/" 下面
iris = pd.read_csv("./input/iris.csv") # the iris dataset is now a Pandas DataFrame#Jupyter notebooks显示数据集的前5行
iris.head()# 按下shift+enter来执行单元格
# 统计每个品种有多少个样本
iris["Species"].value_counts()
setosa 50 virginica 50 versicolor 50 Name: Species, dtype: int64
# 第一种方法我们用Pandas dataframes扩展的.plot来画图
# 我们将用这个来画出irisz中Sepal_Length和Sepal_Width特征的散点图。
iris.plot(kind="scatter", x="Sepal_Length", y="Sepal_Width")
# 我们也可以使用seaborn库来话相似的图
# 一个seaborn的结合图在同一图中显示了双变量散点图和单变量直方图
sns.jointplot(x="Sepal_Length", y="Sepal_Width", data=iris, size=5)
# 在上面的图中缺失的一些信息是每一种植物的种类
# 我们将使用seaborn的FacetGrid来为散点图上色
sns.FacetGrid(iris, hue="Species", size=5) \.map(plt.scatter, "Sepal_Length", "Sepal_Width") \.add_legend()
# 我们可以通过一个箱形图来查看seaborn的单独的一个特征
sns.boxplot(x="Species", y="Petal_Length", data=iris)
# 我们可以通过用seaborn的striplot添加单独的点来扩展上图
#
# 我们将使用jitter=True,这样所有的点都不会落在物种的单条垂直线上
#
# 每次将产生的轴作为ax,每次都会导致结果图显示在前面的axes上
ax = sns.boxplot(x="Species", y="Petal_Length", data=iris)
ax = sns.stripplot(x="Species", y="Petal_Length", data=iris, jitter=True, edgecolor="gray")
# violinplot结合了前两个plot的优点并简化了它们
# 在violinplot中,更密集的数据区域更胖,更稀疏的数据区域更薄
sns.violinplot(x="Species", y="Petal_Length", data=iris, size=6)
# 最后一个用于研究单变量关系的seaborn plot是kdeplot,它创建并可视化了底层特性的内核密度估计
sns.FacetGrid(iris, hue="Species", size=6) \.map(sns.kdeplot, "Petal_Length") \.add_legend()
# 另一个有用的seaborn plot是pairplot,它显示了每一对特征之间的双变量关系
# 从pairplot中,我们可以看到Iris-setosa物种在所有特征组合中与另外两种都是分离的
sns.pairplot(iris.drop("ID", axis=1), hue="Species", size=3)
# 在pairplot中,对角线元素在默认情况下显示了直方图
# 我们可以更新这些元素以显示其他东西,比如kde
sns.pairplot(iris.drop("ID", axis=1), hue="Species", size=3, diag_kind="kde")
# 讲解完seaborn之后,让我们回到pandas中
# 我们可以快速制作一个Pandas的箱形图,每个特征按物种划分
iris.drop("ID", axis=1).boxplot(by="Species", figsize=(12, 6))
# Andrews曲线涉及使用样本的属性作为傅立叶级数的系数,然后进行绘制
from pandas.tools.plotting import andrews_curves
andrews_curves(iris.drop("ID", axis=1), "Species")
# pandas另一种多变量可视化技术是parallel_coordinates
# 平行坐标在单独的列上绘制每个特征。然后绘制连接每个数据样本要素的线条
from pandas.tools.plotting import parallel_coordinates
parallel_coordinates(iris.drop("ID", axis=1), "Species")
# pandas最后的多变量可视化技术是radviz,它将每个特征作为一个点放在2D平面上,然后通过由该特征的相对值加权的跳跃加到这些点上来模拟每个样本
from pandas.tools.plotting import radviz
radviz(iris.drop("ID", axis=1), "Species")
参考链接:
https://www.kaggle.com/benhamner/python-data-visualizations
http://seaborn.pydata.org/api.html
http://seaborn.pydata.org/tutorial.html#
http://pandas.pydata.org/pandas-docs/stable/visualization.html
https://matplotlib.org/tutorials/index.html
https://matplotlib.org/gallery/index.html
Python数据可视化实战——iris数据集可视化相关推荐
- python计算各类型电影的评分_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析|详解...
原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析|详解 注:图片源于https://movielens.org/ 1. 项目任务 1.1 数据来源 本项目使用Group ...
- 基于点击量的趋势分析python_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析详解...
原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析详解 本文转自: 数据科学DataScience 注:图片源于https://movielens.org/ 1. 项目任 ...
- 送书【新书】 |《python数据科学实战》
又到了每周三的送书时刻啦!本周我们送出的是<python数据科学实战> (文末查看送书规则) 编辑推荐 狗熊会(数据产业高端智库)官方出品:源于实践.终于实战的Python数据分析与大数据 ...
- python分析鸢尾花数据_鸢尾花(iris)数据集分析
Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例.数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度.花萼宽度.花瓣长度. ...
- iris数据集可视化python
加载数据集 import seaborn as sns import pandas as pd import matplotlib.pyplot as plt iris = pd.read_csv(' ...
- 宝藏网站!机器学习概念可视化;LeetCode面试必看清单;104个Python数据科学实战项目;必应超清壁纸;前沿论文 | ShowMeAI资讯日报
ShowMeAI日报系列全新升级!覆盖AI人工智能 工具&框架 | 项目&代码 | 博文&分享 | 数据&资源 | 研究&论文 等方向.点击查看 历史文章列表, ...
- iris数据集可视化实战
- python数据项目分析实战技法_《Python数据分析与机器学习实战-唐宇迪》读书笔记第9章--随机森林项目实战——气温预测(1/2)...
第9章--随机森林项目实战--气温预测(1/2) 第8章已经讲解过随机森林的基本原理,本章将从实战的角度出发,借助Python工具包完成气温预测任务,其中涉及多个模块,主要包含随机森林建模.特征选择. ...
- Python 数据清理实战
Because the people who are crazy enough to think that they can change the world, are the ones who do ...
最新文章
- 服务器拒绝接收office文件,Ghost Win7系统下Outlook设置拒绝接收垃圾文件的方法
- Codeforces 918D/917B - MADMAX
- shell 获取命令执行结果_java高并发系列 第31天:获取线程执行结果,这6种方法你都知道?...
- ASP.NET 构建高性能网站 架构设计
- bca ac如何联合索引_BCA的完整形式是什么?
- vscode保存react时标签出现空格自动换行报错
- SQL Server系统数据库– msdb数据库
- 泡着枸杞写bug的三流程序员凭什么逆袭到一线大厂?你不服不行!
- gvim 命令行粘贴_vim-如何在光标所在的行中粘贴?
- 重命名DC 以及 域
- 为什么下拉框拉不下来_为什么分手后对方不删除拉黑你,但又不和你复合?
- Mac、centos安装MongoDB
- modelsim教程
- android模拟器 gpu,Android模拟器新版升级,新增GPU支持、多点触摸等功能【视频】...
- 利用虚拟摄像头解决腾讯会议多人同时共享屏幕的需求
- 焕然一新的 Vue 3 中文文档来了,附送50张学习思维图
- 使用VMware10虚拟机安装Linux系统(能力工场)
- 创建你的战略型人际网络
- iOS开发之App Icon(整套)生成工具App Icon Gear
- 光明勇士iOS服务器维护,裕际网络科技《光明勇士》3月11日 iOSamp;安卓部分区服数据互通公告 - 热门手游公告-TK游戏...
热门文章
- python3 random模块_Python3 中 random模块
- PyQT:第一个Demo,画出鼠标单击位置出图像的列像素折线图
- 笨方法“学习python笔记之元组(tuple)
- 图像风格转换V3算法
- ieee latex 双栏_用Latex写学术论文: IEEE Latex模板和文档设置(\documentclass)
- js 判断一个字符在字符串中出现的次数 - 代码篇
- php返回并中断,php – 如何从回调函数返回控件或中断array_filter处理中的数组处理...
- 弹幕解析播放器json客户端解析后台管理源码
- 基于Spring Boot+Vue的考试系统
- .prettierrc 文件