《 Python数据可视化》导读

简介:
0751c06999a927ada75cf4aef275a609a244804b
前  言 
数据可视化旨在清楚明了地提供信息,帮助读者定性理解这些信息。俗话说,一图胜千字(百闻不如一见)。这里,可以换个说法,“一幅图讲述了一个故事,如同万语千言。”因此,可视化是一个宝贵的工具,有助于读者快速理解相应的概念。然而,与其说数据可视化是一种技能,还不如说它是一门艺术。这是因为,如过度使用数据可视化会适得其反。
当前,有太多数据需要处理。这些数据包含着许多见解,这些见解是成功的关键。能够发现数据、清洗数据,并使用正确的工具实现可视化至关重要。本书讲解了用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章 数据可视化概念框架
第2章 数据分析与可视化
第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
相关文章
|
10天前
|
数据挖掘 PyTorch TensorFlow
|
5天前
|
机器学习/深度学习 数据采集 算法
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
有多种方法可以处理时间序列数据中的噪声。本文将介绍一种在我们的研究项目中表现良好的方法,特别适用于时间序列概况中数据点较少的情况。
19 1
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
|
9天前
|
数据可视化 Python
Python中的数据可视化:使用Matplotlib绘制图表
【9月更文挑战第11天】在这篇文章中,我们将探索如何使用Python的Matplotlib库来创建各种数据可视化。我们将从基本的折线图开始,然后逐步介绍如何添加更多的功能和样式,以使您的图表更具吸引力和信息量。无论您是数据科学家、分析师还是任何需要将数据转化为视觉形式的专业人士,这篇文章都将为您提供一个坚实的起点。让我们一起潜入数据的海洋,用视觉的力量揭示其背后的故事。
33 16
|
7天前
|
数据可视化 数据挖掘 API
Python中的数据可视化:从基础到进阶
【9月更文挑战第13天】在数字世界中,数据可视化是连接复杂信息与人类直觉的桥梁。本文将通过Python语言,探索如何从零开始构建数据可视化技能,逐步深入到高级技巧,让你能够将抽象的数字转化为直观的故事。我们将一起学习如何使用Matplotlib、Seaborn等库来绘制图表,并最终掌握如何利用Pandas对数据集进行深度分析与可视化展示。
|
14天前
|
数据可视化 数据挖掘 数据处理
Python中数据可视化的魔法——使用Matplotlib和Pandas
【9月更文挑战第5天】在Python的世界里,数据可视化是连接复杂数据与人类直觉的桥梁。本篇文章将带领读者探索如何使用Matplotlib和Pandas这两个强大的库来揭示数据背后的故事。我们将从基础概念开始,逐步深入到高级技巧,让每一位读者都能轻松创建引人入胜的数据可视化图表,使数据分析变得既直观又有趣。
57 14
|
8天前
|
算法 Python
揭秘!Python数据魔术师如何玩转线性回归,让你的预测精准到不可思议
【9月更文挑战第13天】在数据科学领域,线性回归以其优雅而强大的特性,将复杂的数据关系转化为精准的预测模型。本文将揭秘Python数据魔术师如何利用这一统计方法,实现令人惊叹的预测精度。线性回归假设自变量与因变量间存在线性关系,通过拟合直线或超平面进行预测。Python的scikit-learn库提供了简便的LinearRegression类,使模型构建、训练和预测变得简单直接。
22 5
|
10天前
|
存储 算法 测试技术
预见未来?Python线性回归算法:数据中的秘密预言家
【9月更文挑战第11天】在数据的海洋中,线性回归算法犹如智慧的预言家,助我们揭示未知。本案例通过收集房屋面积、距市中心距离等数据,利用Python的pandas和scikit-learn库构建房价预测模型。经过训练与测试,模型展现出较好的预测能力,均方根误差(RMSE)低,帮助房地产投资者做出更明智决策。尽管现实关系复杂多变,线性回归仍提供了有效工具,引领我们在数据世界中自信前行。
25 5
|
10天前
|
机器学习/深度学习 数据挖掘 TensorFlow
🔍揭秘Python数据分析奥秘,TensorFlow助力解锁数据背后的亿万商机
【9月更文挑战第11天】在信息爆炸的时代,数据如沉睡的宝藏,等待发掘。Python以简洁的语法和丰富的库生态成为数据分析的首选,而TensorFlow则为深度学习赋能,助你洞察数据核心,解锁商机。通过Pandas库,我们可以轻松处理结构化数据,进行统计分析和可视化;TensorFlow则能构建复杂的神经网络模型,捕捉非线性关系,提升预测准确性。两者的结合,让你在商业竞争中脱颖而出,把握市场脉搏,释放数据的无限价值。以下是使用Pandas进行简单数据分析的示例:
24 5
|
10天前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
27 5
|
10天前
|
数据采集 数据挖掘 数据处理
使用Python和Pandas处理CSV数据
使用Python和Pandas处理CSV数据
43 5