《 Python数据可视化》导读

前  言 

数据可视化旨在清楚明了地提供信息,帮助读者定性理解这些信息。俗话说,一图胜千字(百闻不如一见)。这里,可以换个说法,“一幅图讲述了一个故事,如同万语千言。”因此,可视化是一个宝贵的工具,有助于读者快速理解相应的概念。然而,与其说数据可视化是一种技能,还不如说它是一门艺术。这是因为,如过度使用数据可视化会适得其反。

当前,有太多数据需要处理。这些数据包含着许多见解,这些见解是成功的关键。能够发现数据、清洗数据,并使用正确的工具实现可视化至关重要。本书讲解了用Python软件包实现数据可视化的不同方法,并给出很多不同领域的案例,比如,数值计算、金融模型、统计和机器学习,以及遗传学与网络。

本书提供在Mac OS X 10.10.5系统上运行的案例程序,具体用到Python 2.7、IPython 0.13.2、matplotlib 1.4.3、NumPy 1.9.2、SciPy 0.16.0和conda构建1.14.1版本。

本书主要内容

第1章阐述了数据可视化确实应该被称为“用于知识推断的数据可视化”。本章包含框架,讲解数据/信息如何转换为知识,以及有意义的呈现方式(通过取对数、颜色映射、散点图、相关性以及其他)如何能够帮助我们更容易地掌握知识。

第2章讲述可视化的重要性,展示可视化过程中的一些步骤,包括可选择的几种工具选项。可视化方法由来已久,很早之前我们就接触过这些方法;比如,连年幼的小孩都能解释条形图。交互式可视化有很多优点,本章将举例说明。

第3章解释了从Continuum Analytics使用Anaconda时,不必安装每个Python库的原因。Anaconda有简化的打包和部署方法,这些方法使得IPython notebook与其他库的并行运算变得更加容易。

第4章包括交互式绘图方法及在计算物理和应用数学中的实践案例。一些著名的案例包括用SciPy实现插值方法、近似、聚类、抽样、相关关系和凸优化。 

第5章探索金融工程,该领域有很多数值计算和图表绘制的方法,是探索Python的一个有趣的案例。本章通过举例讲述股票报价、回归分析、蒙特卡洛算法和模拟方法。

第6章包含了用NumPy、SciPy、matplotlib和scikit-learn等工具进行处理的统计方法,比如,线性、非线性回归、聚类和分类。

第7章包含了有趣的案例,比如社交网络以及现实生活中的有向图举例,适用于这些问题的数据结构,以及网络分析。本章会用到一些具体的库,比如graph-tool、NetworkX、matplotlib、scipy和numpy。

第8章包含模拟方法和信号处理案例,用以展示一些可视化方法。这里,我们也给出了其他高级工具的对比,比如Julia和D3.js。

附录给出了conda概述,并列出多种Python库。

学习本书的准备工作

本书要求用户在操作系统上安装2.7.6或以上版本的Python。对于书中的案例,可以使用Mac OS X 10.10.5的Python默认版本(2.7.6)来实现。其他会用到的软件包是IPython—一个交互式Python环境。新版的IPython叫Jupyter,该版本现在有50种不同语言的内核函数。

安装提前打包好的用于科学计算的Python发行版,如果可能的话,可以从Continuum安装Anaconda,或安装Enthought Python Distribution。Anaconda一般自带300多个Python软件包。你可以用pip或conda安装不在自带软件包列表中的Python软件包。有一些案例可见附录。

本书适用对象

目前已有很多Python和数据可视化方面的书。然而,对于有一定Python知识储备的人来说,几乎很少有把两者内容结合在一起的书值得推荐。有关简化代码、重复使用的小生境(niche)技术的讨论更是少之又少。对于有强烈学习兴趣的Python开发人员,本书将提供一系列获得分析结果和产生惊人可视化效果的方法。

本书提供了解决实际问题的一系列分析方法。虽然本书并不是面向初学者的,但是如果有需要,你可以搜索书中推荐阅读的文献资料。如果这是你初次体验Python编程或数据可视化,提前阅读一些入门教材会有很大帮助。我最喜欢的书有John Guttag教授的《Introduction to Computer Science and Programming》(可从MIT OpenCourseWare上免费下载)和来自UCLA的Nathan Yau的《Visualize This》。

目  录 

第1章 数据可视化概念框架

1.1 数据、信息、知识和观点

1.2 数据转换

1.3 数据可视化历史

1.4 可视化如何帮助决策

1.5 可视化图像

1.6 总结

第2章 数据分析与可视化

2.1 为什么可视化需要规划

2.2 Ebola案例

2.3 体育案例

2.4 用数据编写有趣的故事

2.5 感知与表达方法

2.6 一些最好的可视化实践

2.7 Python中的可视化工具

2.8 交互式可视化

2.9 总结

第3章 开始使用Python IDE

3.1 Python中的IDE工具

3.2 Anaconda可视化绘图

3.3 交互式可视化软件包

3.4 总结

第4章 数值计算和交互式绘图 92

4.1 NumPy、SciPy和MKL函数 93

4.1.1 NumPy 93

4.1.2 SciPy 99

4.1.3 MKL函数 105

4.1.4 Python的性能 106

4.2 标量选择 106

4.3 切片 107

4.4 数组索引 108

4.4.1 数值索引 108

4.4.2 逻辑索引 109

4.5 其他数据结构 110

4.5.1 栈 110

4.5.2 元组 111

4.5.3 集合 112

4.5.4 队列 113

4.5.5 字典 114

4.5.6 字典的矩阵表示 115

4.5.7 Trie树 120

4.6 利用matplotlib进行可视化 121

4.6.1 词云 122

4.6.2 安装词云 122

4.6.3 词云的输入 124

4.6.4 绘制股票价格图 129

4.7 体育运动中的可视化案例 136

4.8 总结 140

第5章 金融和统计模型 141

5.1 确定性模型 142

5.2 随机性模型 150

5.2.1 蒙特卡洛模拟 150

5.2.2 投资组合估值 168

5.2.3 模拟模型 170

5.2.4 几何布朗运动模拟 170

5.2.5 基于扩散模拟 173

5.3 阈值模型 175

5.4 统计与机器学习综述 179

5.4.1 k-最近邻算法 179

5.4.2 广义线性模型 181

5.5 创建动画和交互图 184

5.6 总结 188

第6章 统计与机器学习 189

6.1 分类方法 190

6.1.1 理解线性回归 191

6.1.2 线性回归 193

6.1.3 决策树 196

6.1.4 贝叶斯理论 199

6.1.5 朴素贝叶斯分类器 200

6.1.6 用TextBlob构建朴素贝叶斯分类器 202

6.1.7 用词云观察积极情绪 206

6.2 k-最近邻 208

6.3 逻辑斯谛回归 211

6.4 支持向量机 214

6.5 主成分分析 216

6.6  k-均值聚类 220

6.7 总结 223

第7章 生物信息学、遗传学和网络模型 224

7.1 有向图和多重图 225

7.1.1 存储图表数据 225

7.1.2 图表展示 227

7.2 图的聚集系数 235

7.3 社交网络分析 238

7.4 平面图测试 240

7.5 有向无环图测试 242

7.6 最大流量和最小切割 244

7.7 遗传编程示例 245

7.8 随机区组模型 247

7.9 总结 250

第8章 高级可视化 252

8.1 计算机模拟 253

8.1.1 Python的random包 253

8.1.2 SciPy的random函数 254

8.1.3 模拟示例 255

8.1.4 信号处理 258

8.1.5 动画制作 261

8.1.6 利用HTML5进行可视化 263

8.1.7 Julia和Python有什么区别 267

8.1.8 用D3.js进行可视化 267

8.1.9 仪表盘 268

8.2 总结 269

附录 继续探索可视化 270

时间: 2024-09-12 19:01:46

《 Python数据可视化》导读的相关文章

《Python数据可视化编程实战》—— 导读

前言 Python数据可视化编程实战最好的数据是我们能看到并理解的数据.作为一个开发人员,我们想创造并构建出最全面且容易理解的可视化图形.然而这并非总是很简单,我们需要找出数据,读取它.清理它.揣摩它,然后使用恰当的工具将其可视化.本书通过简单(和不那么简单)直接的方法解释了如何读取.清理和可视化数据的流程. 本书对怎样读取本地数据.远程数据.CSV.JSON以及关系型数据库中的数据,都进行了讲解. 通过matplotlib,我们能用一行简单的Python代码绘制出一些简单的图表,但是进行更高级

《Python数据可视化编程实战》—— 1.2 安装matplotlib、Numpy和Scipy库

1.2 安装matplotlib.Numpy和Scipy库 Python数据可视化编程实战 本章介绍了matplotlib及其依赖的软件在Linux平台上的几种安装方法. 1.2.1 准备工作 这里假设你已经安装了Linux系统且安装好了Python(推荐使用Debian/Ubuntu或RedHat/SciLinux).在前面提到的Linux系统发行版中,Python通常是默认安装的.如果没有,使用标准的软件安装方式安装Python也是非常简便的.本书假设你安装的Python版本为2.7或以上.

《Python数据可视化编程实战》——5.2 创建3D柱状图

5.2 创建3D柱状图 Python数据可视化编程实战 虽然matplotlib主要专注于绘图,并且主要是二维的图形,但是它也有一些不同的扩展,能让我们在地理图上绘图,让我们把Excel和3D图表结合起来.在matplotlib的世界里,这些扩展叫做工具包(toolkits).工具包是一些关注在某个话题(如3D绘图)的特定函数的集合. 比较流行的工具包有Basemap.GTK 工具.Excel工具.Natgrid.AxesGrid和mplot3d. 本节将探索关于mplot3d的更多功能.mpl

《Python数据可视化编程实战》—— 1.6 安装图像处理工具:Python图像库(PIL)

1.6 安装图像处理工具:Python图像库(PIL) Python数据可视化编程实战Python图像库(PIL)为Python提供了图像处理能力.PIL支持的文件格式相当广泛,在图像处理领域提供了相当强大的功能. 快速数据访问.点运算(point operations).滤波(filtering).图像缩放.旋转.任意仿射转换(arbitrary affine transforms)是PIL中一些应用非常广泛的特性.例如,图像的统计数据即可通过histogram方法获得. PIL同样可以应用在

《Python数据可视化编程实战》—— 1.5 在Windows上安装matplotlib

1.5 在Windows上安装matplotlib Python数据可视化编程实战在本节中,我们将演示如何安装Python和matplotlib.假设系统中没有预先安装Python. 1.5.1 准备工作 在Windows上安装matplotlib有两种方式.较简单的方式是安装预打包的Python环境,如EPD.Anaconda和Python(x,y).这是本书推荐的安装方式,尤其对于初学者来说更是如此. 第二种方式,是使用预编译的二进制文件来安装matplotlib和依赖软件包.需要注意安装的

《Python数据可视化编程实战》—— 1.8 在代码中配置matplotlib参数

1.8 在代码中配置matplotlib参数 Python数据可视化编程实战matplotlib库提供了强大的绘图功能,是本书用的最多的Python库.在其配置文件即.rc文件中,已经为大部分属性设定了默认值.本节会介绍如何通过应用程序代码修改matplotlib的相关属性值. 1.8.1 准备工作 如前所述,matplotlib配置信息是从配置文件读取的.在配置文件中可以为matplotlib的几乎所有的属性指定永久有效的默认值. 1.8.2 操作步骤 在代码执行过程中,有两种方式更改运行参数

《Python数据可视化编程实战》—— 1.9 为项目设置matplotlib参数

1.9 为项目设置matplotlib参数 Python数据可视化编程实战本节介绍matplotlib使用的各种配置文件的位置,以及使用这些配置文件的意义.同时还将介绍配置文件中的具体配置项. 1.9.1 准备工作 如果不想在每次使用matplotlib时都在代码开始部分进行配置(像前一节我们做的那样),就需要为不同的项目设定不同的默认配置项.本节将介绍如何做到这一点.这种配置方式使得配置项与代码分离,从而使代码更加整洁.此外,你可以很容易在同事间甚至项目间分享配置模板. 1.9.2 配置方法

《Python数据可视化编程实战》—— 1.7 安装requests模块

1.7 安装requests模块 Python数据可视化编程实战我们需要的大部分数据都可以通过HTTP或类似协议获得,因此我们需要一些工具来实现数据访问.Python的requests库能让这部分工作变得轻松起来. 虽然Python提供的urllib2模块提供了访问远程资源的能力以及对HTTP协议的支持,但使用该模块完成基础任务的工作量还是很大的. Request模块提供新的API,减轻了使用web服务的痛苦,使其变得更直接.Requests封装了很多HTTP 1.1的内容,仅在需要实现非默认行

《Python数据可视化编程实战》—— 1.3 安装virtualenv和virtualenvwrapper

1.3 安装virtualenv和virtualenvwrapper Python数据可视化编程实战如果同时工作在多个项目上,或是需要在不同项目间频繁切换,将所有的软件都安装在操作系统层级上也许不是一个好主意.当需要在不同系统(产品环境)上运行软件时,这种方式会带来问题.如果到此时才发现缺少特定的软件包,或是产品环境已经安装的软件包存在版本冲突,这将是非常痛苦的.为避免这种情况发生,可以选择使用virtualenv. virtualenv是由Ian Bicking创建的开放源代码项目.通过这个项

《Python数据可视化编程实战》—— 第 5 章 创建3D可视化图表

第 5 章 创建3D可视化图表 Python数据可视化编程实战本章将学习以下内容. 创建3D柱状图创建3D直方图在matplotlib中创建动画用OpenGL制作动画