第 1章 Python程序库入门1
1.1 安装Python 3 3
1.1.1 安装数据分析程序库 3
1.1.2 Linux平台或Mac OS X平台 3
1.1.3 Windows平台 4
1.2 将IPython用作shell 4
1.3 学习手册页 6
1.4 Jupyter Notebook 7
1.5 NumPy数组 8
1.6 一个简单的应用 8
1.7 从何处寻求帮助和参考资料 11
1.8 查看Python库中包含的模块 12
1.9 通过Matplotlib实现数据的可视化 12
1.10 小结 14
第 2章 NumPy数组 15
2.1 NumPy数组对象 16
2.2 创建多维数组 17
2.3 选择NumPy数组元素 17
2.4 NumPy的数值类型 18
2.4.1 数据类型对象 20
2.4.2 字符码 20
2.4.3 dtype构造函数 21
2.4.4 dtype属性 22
2.5 一维数组的切片与索引 23
2.6 处理数组形状 23
2.6.1 堆叠数组 25
2.6.2 拆分NumPy数组 28
2.6.3 NumPy数组的属性 30
2.6.4 数组的转换 34
2.7 创建数组的视图和拷贝 35
2.8 花式索引 36
2.9 基于位置列表的索引方法 38
2.10 用布尔型变量索引NumPy数组 39
2.11 NumPy数组的广播 41
2.12 小结 44
2.13 参考资料 44
第3章 Pandas入门 45
3.1 Pandas的安装与概览 46
3.2 Pandas数据结构之DataFrame 47
3.3 Pandas数据结构之Series 49
3.4 利用Pandas查询数据 52
3.5 利用Pandas的DataFrame进行统计计算 56
3.6 利用Pandas的DataFrame实现
数据聚合 58
3.7 DataFrame的串联与附加
操作 62
3.8 连接DataFrames 63
3.9 处理缺失数据问题 65
3.10 处理日期数据 67
3.11 数据透视表 70
3.12 小结 71
3.13 参考资料 71
第4章 统计学与线性代数 72
4.1 用NumPy进行简单的描述性统计计算 72
4.2 用NumPy进行线性代数运算 75
4.2.1 用NumPy求矩阵的逆 75
4.2.2 用NumPy解线性方程组 77
4.3 用NumPy计算特征值和特征向量 78
4.4 NumPy随机数 80
4.4.1 用二项式分布进行博弈 81
4.4.2 正态分布采样 83
4.4.3 用SciPy进行正态检验 84
4.5 创建掩码式NumPy数组 86
4.6 忽略负值和极值 88
4.7 小结 91
第5章 数据的检索、加工与存储 92
5.1 利用NumPy和pandas对CSV文件进行写操作 92
5.2 二进制.npy与pickle格式 94
5.3 使用PyTables存储数据 97
5.4 Pandas DataFrame与HDF5仓库之间的读写操作 99
5.5 使用Pandas读写Excel文件 102
5.6 使用REST Web服务和JSON 103
5.7 使用Pandas读写JSON 105
5.8 解析RSS和Atom订阅 106
5.9 使用Beautiful Soup解析HTML 108
5.10 小结 114
5.11 参考资料 114
第6章 数据可视化 115
6.1 Matplotlib的子库 116
6.2 Matplotlib绘图入门 116
6.3 对数图 118
6.4 散点图 119
6.5 图例和注解 121
6.6 三维图 123
6.7 Pandas绘图 125
6.8 时滞图 127
6.9 自相关图 129
6.10 Plot.ly 130
6.11 小结 132
第7章 信号处理与时间序列 133
7.1 statsmodels模块 134
7.2 移动平均值 134
7.3 窗口函数 136
7.4 协整的定义 138
7.5 自相关 140
7.6 自回归模型 142
7.7 ARMA模型 145
7.8 生成周期信号 147
7.9 傅里叶分析 149
7.10 谱分析 152
7.11 滤波 153
7.12 小结 155
第8章 应用数据库 156
8.1 基于sqlite3的轻量级访问 157
8.2 通过Pandas访问数据库 159
8.3 SQLAlchemy 161
8.3.1 SQLAlchemy的安装和配置 161
8.3.2 通过SQLAlchemy填充数据库 162
8.3.3 通过SQLAlchemy查询数据库 164
8.4 Pony ORM 166
8.5 Dataset:懒人数据库 167
8.6 PyMongo与MongoDB 168
8.7 利用Redis存储数据 170
8.8 利用memcache存储数据 171
8.9 Apache Cassandra 172
8.10 小结 174
第9章 分析文本数据和社交媒体 176
9.1 安装NLTK 177
9.2 NLTK简介 177
9.3 滤除停用字、姓名和数字 178
9.4 词袋模型 180
9.5 词频分析 181
9.6 朴素贝叶斯分类 183
9.7 情感分析 186
9.8 创建词云 189
9.9 社交网络分析 193
9.10 小结 195
第 10章 预测性分析与机器学习 197
10.1 预处理 198
10.2 基于逻辑回归的分类 201
10.3 基于支持向量机的分类 202
10.4 基于ElasticNetCV的回归分析 205
10.5 支持向量回归 207
10.6 基于相似性传播算法的聚类
分析 210
10.7 均值漂移算法 211
10.8 遗传算法 213
10.9 神经网络 217
10.10 决策树 219
10.11 小结 222
第 11章 Python生态系统的外部环境和云计算 223
11.1 与MATLAB/Octave交换
信息 224
11.2 安装rpy2 225
11.3 连接R 225
11.4 为Java传递NumPy数组 228
11.5 集成SWIG和NumPy 229
11.6 集成Boost和Python 233
11.7 通过f2py使用Fortran代码 235
11.8 PythonAnywhere云 236
11.9 小结 238
第 12章 性能优化、性能分析与并发性 239
12.1 代码的性能分析 240
12.2 安装Cython 245
12.3 调用C代码 248
12.4 利用multiprocessing创建进程池 252
12.5 通过Joblib提高for循环的并发性 254
12.6 比较Bottleneck函数与NumPy函数 255
12.7 通过Jug实现MapReduce 257
12.8 安装MPI for Python 259
12.9 IPython Parallel 260
12.10 小结 263
附录A 重要概念 264
附录B 常用函数 269