[套装书]Python学习手册(原书第5版)+利用Python进行数据分析(原书第2版)(2册)

作者
[美]马克·卢茨(Mark Lutz)[美]韦斯·麦金尼(Wes McKinney)
丛书名
O’Reilly精品图书系列
出版社
机械工业出版社
ISBN
9781911201358
简要
简介
内容简介书籍计算机书籍 ---------------------------Python学习手册(原书第5版)--------------------------- Python学习手册(原书第5版) 本书分为上、下两册。 如果你想动手编写高效、高质量并且很容易与其他语言和工具集成的代码,本书将快速地帮助你利用Python提高效率。本书基于Python专家的流程培训课程编写,内容通俗易懂。本书包含很多注释的例子和插图,以帮助你开始使用Python2.7和3.3。每章都包含关于Python语言的重要组成部分的一节课。本书主要内容:了解Python的主要内置对象类型,如数字、列表和字典;创建和处理对象的Python语句,学习Python的一般语法模型;利用Python的基本程序工具的结构和重用代码;了解Python模块:语句包、函数和其他工具;探索Python的面向对象的编程工具,用于构建代码;了解异常处理模型和开发工具编写较大的程序;探索先进的Python工具,包括装饰符、描述符、元类、Unicode的处理。 ---------------------------利用Python进行数据分析(原书第2版)--------------------------- 阅读本书可以获得关于在Python下操作、处理、清洗、规整数据集的完整说明。本书第2版针对Python 3.6进行了更新,并增加了实际案例向你展示如何高效地解决一系列数据分析问题。你将在阅读过程中学习到最新版本的pandas、NumPy、IPython和Jupyter。
目录



---------------------------Python学习手册(原书第5版)---------------------------


上册
前言 ........................................1
第一部分 使用入门
第1章 问答环节 ........................................ 21
人们为何使用Python ........................................21
软件质量 ........................................22
开发者效率........................................23
Python是一门“脚本语言”吗 ........................................23
好吧,Python的缺点是什么 ........................................25
如今谁在使用Python ........................................25
其他的Python设计权衡:一些难以把握的方面 ........................................26
使用Python可以做些什么 ........................................28
系统编程 ........................................28
图形用户界面(GUI) ........................................29
Internet脚本 ........................................29
组件集成 ........................................30
数据库编程........................................30
快速原型 ........................................31
数值计算和科学计算编程 ........................................31
更多内容:游戏、图像、数据挖掘、机器人、Excel等 ................................31
Python如何开发并获得支持 ........................................32
开源的权衡........................................33
Python有哪些技术上的优点 ........................................33
面向对象和函数式 ........................................33
免费 ........................................34
可移植 ........................................34
功能强大 ........................................35
可混合 ........................................36
相对简单易用 ........................................36
相对简单易学 ........................................37
以Monty Python命名 ........................................37
Python和其他语言比较起来怎么样 ........................................38
本章小结 ........................................39
本章习题 ........................................39
习题解答 ........................................40
Python是工程,不是艺术 ........................................41
第2章 Python如何运行程序 ........................................ 43
Python解释器简介 ........................................43
程序执行 ........................................45
程序员的视角 ........................................45
Python的视角 ........................................46
执行模型的变体 ........................................48
Python的各种实现 ........................................49
执行优化工具 ........................................52
冻结二进制文件 ........................................53
未来的可能性 ........................................54
本章小结 ........................................55
本章习题 ........................................55
习题解答 ........................................56
第3章 你应如何运行程序 ........................................ 57
交互式命令行模式 ........................................57
开始一个交互式会话 ........................................57
Windows平台上的交互式命令行在哪里 ........................................59
系统路径 ........................................59
Python 3.3中的新Windows选项:PATH和启动器 ........................................60
运行的位置:代码 ........................................61
不需要输入的内容:提示符和注释 ........................................62
交互式地运行代码 ........................................63
为什么要使用交互式命令行模式 ........................................64
使用注意:交互命令行模式 ........................................65
系统命令行和文件 ........................................67
第一段脚本........................................68
使用命令行运行文件 ........................................69
不同的命令行使用方式 ........................................70
使用注意:命令行和文件 ........................................71
UNIX风格可执行脚本:#! ........................................72
UNIX脚本基础 ........................................72
UNIX env查找技巧 ........................................73
Python 3.3 Windows启动器:Windows也有#!了 ........................................73
点击文件图标 ........................................75
图标点击基础知识 ........................................75
在Windows上点击图标 ........................................76
Windows上输入的技巧 ........................................77
其他图标点击的限制 ........................................79
模块导入和重载 ........................................79
导入和重载基础知识 ........................................80
模块的宏观视角:属性 ........................................82
使用注意:import和reload ........................................85
使用exec运行模块文件 ........................................85
IDLE用户界面 ........................................86
IDLE启动细节 ........................................87
IDLE基础用法 ........................................88
IDLE功能特性 ........................................89
高级IDLE工具 ........................................90
使用注意:IDLE ........................................90
其他IDE ........................................92
其他启动选项 ........................................93
嵌入式调用........................................93
冻结二进制可执行文件 ........................................94
文本编辑器启动方式 ........................................94
其他的启动方式 ........................................95
未来的可能........................................95
应该选用哪种方式 ........................................95
调试Python代码 ........................................96
本章小结 ........................................97
本章习题 ........................................97
习题解答 ........................................98
第一部分练习题 ........................................99
第二部分 类型和运算
第4章 介绍Python对象类型 ........................................ 105
Python知识结构 ........................................105
为什么要使用内置类型 ........................................106
Python核心数据类型 ........................................107
数字 ........................................108
字符串 ........................................ 110
序列操作 ........................................ 110
不可变性 ........................................ 112
特定类型的方法 ........................................ 113
寻求帮助 ........................................ 115
字符串编程的其他方式 ........................................ 116
Unicode字符串 ........................................ 117
模式匹配 ........................................ 119
列表 ........................................120
序列操作 ........................................120
特定的操作........................................121
边界检查 ........................................121
嵌套 ........................................122
推导 ........................................122
字典 ........................................125
映射操作 ........................................125
重访嵌套 ........................................126
不存在的键:if 测试 ........................................128
键的排序:for 循环 ........................................129
迭代和优化........................................131
元组 ........................................132
为什么要使用元组 ........................................133
文件 ........................................133
二进制字节文件 ........................................134
Unicode文本文件 ........................................135
其他类文件工具 ........................................137
其他核心类型 ........................................137
如何破坏代码的灵活性 ........................................139
用户定义的类 ........................................140
剩余的内容........................................141
本章小结 ........................................141
本章习题 ........................................141
习题解答 ........................................142
第5章 数值类型 ........................................ 143
数值类型基础知识 ........................................143
数值字面量........................................144
内置数值工具 ........................................146
Python表达式运算符 ........................................146
数字的实际应用 ........................................151
变量与基础表达式 ........................................151
数值的显示格式 ........................................153
str和repr显示格式 ........................................154
普通比较与链式比较 ........................................154
除法:经典除法、向下取整除法和真除法 ........................................156
整数精度 ........................................160
复数 ........................................160
十六进制、八进制和二进制:字面量与转换 ........................................161
按位操作 ........................................163
其他内置数值工具 ........................................164
其他数值类型 ........................................167
小数类型 ........................................167
分数类型 ........................................169
集合 ........................................173
布尔型 ........................................180
数值扩展 ........................................181
本章小结 ........................................182
本章习题 ........................................182
习题解答 ........................................182
第6章 动态类型 ........................................ 184
缺少声明语句的情况 ........................................184
变量、对象和引用 ........................................184
类型属于对象,而不是变量 ........................................186
对象的垃圾收集 ........................................187
关于Python垃圾回收的更多讨论 ........................................188
共享引用 ........................................189
共享引用和在原位置修改 ........................................190
共享引用和相等 ........................................192
动态类型随处可见 ........................................193
“弱”引用........................................194
本章小结 ........................................194
本章习题 ........................................194
习题解答 ........................................195
第7章 字符串基础 ........................................ 196
本章范围 ........................................196
Unicode简介 ........................................197
字符串基础 ........................................197
字符串字面量 ........................................199
单引号和双引号字符串是一样的 ........................................200
转义序列代表特殊字符 ........................................200
原始字符串阻止转义 ........................................203
三引号编写多行块字符串 ........................................205
实际应用中的字符串 ........................................206
基本操作 ........................................206
索引和分片........................................207
请留意:分片 ........................................ 211
字符串转换工具 ........................................212
修改字符串I ........................................214
字符串方法 ........................................216
方法调用语法 ........................................216
字符串的方法 ........................................217
字符串方法示例:修改字符串II ........................................218
字符串方法示例:解析文本 ........................................220
实际应用中的其他常见字符串方法 ........................................220
原始string模块的函数(在Python 3.X中删除) ........................................221
字符串格式化表达式 ........................................223
格式化表达式基础 ........................................224
高级格式化表达式语法 ........................................225
高级格式化表达式举例 ........................................226
基于字典的格式化表达式 ........................................227
字符串格式化方法调用 ........................................228
字符串格式化方法基础 ........................................228
添加键、属性和偏移量 ........................................229
高级格式化方法语法 ........................................230
高级格式化方法举例 ........................................231
与%格式化表达式比较........................................233
为什么使用格式化方法 ........................................236
通用类型分类 ........................................241
同一分类中的类型共享同一个操作集........................................241
可变类型能够在原位置修改 ........................................242
本章小结 ........................................242
本章习题 ........................................243
习题解答 ........................................243
第8章 列表与字典 ........................................ 245
列表 ........................................245
列表的实际应用 ........................................248
基本列表操作 ........................................248
列表迭代和推导 ........................................248
索引、分片和矩阵 ........................................249
原位置修改列表 ........................................250
字典 ........................................256
字典的实际应用 ........................................258
字典的基本操作 ........................................258
原位置修改字典 ........................................259
其他字典方法 ........................................260
示例:电影数据库 ........................................262
字典用法注意事项 ........................................263
创建字典的其他方式 ........................................267
请留意:字典vs列表 ........................................268
Python 3.X和2.7中的字典变化 ........................................269
请留意:字典接口 ........................................276
本章小结 ........................................277
本章习题 ........................................277
习题解答 ........................................277
第9章 元组、文件与其他核心类型 ............................... 279
元组 ........................................280
元组的实际应用 ........................................281
为什么有了列表还要元组 ........................................283
重访记录:有名元组 ........................................284
文件 ........................................286
打开文件 ........................................287
使用文件 ........................................288
文件的实际应用 ........................................289
文本和二进制文件:一个简要的故事........................................290
在文件中存储Python对象:转换 ........................................291
存储Python原生对象:pickle ........................................293
用JSON格式存储Python对象 ........................................294
存储打包二进制数据:struct ........................................296
文件上下文管理器 ........................................297
其他文件工具 ........................................297
核心类型复习与总结 ........................................299
请留意:运算符重载 ........................................300
对象灵活性........................................300
引用vs复制 ........................................301
比较、等价性和真值 ........................................303
Python中True和False的含义 ........................................307
Python的类型层次 ........................................309
类型的对象........................................309
Python中的其他类型 ........................................ 311
内置类型陷阱 ........................................ 311
赋值创建引用,而不是复制 ........................................ 311
重复会增加层次深度 ........................................312
注意循环数据结构 ........................................313
不可变类型不可以在原位置改变 ........................................313
本章小结 ........................................314
本章习题 ........................................314
习题解答 ........................................315
第二部分练习题 ........................................315
第三部分 语句和语法
第10章 Python语句简介........................................ 321
重温Python的知识结构 ........................................321
Python的语句 ........................................322
两种不同的if ........................................324
Python增加的元素 ........................................325
Python删除的元素 ........................................325
为什么采用缩进语法 ........................................327
几种特殊情况 ........................................329
简短示例:交互式循环 ........................................331
一个简单的交互式循环 ........................................331
对用户输入做数学运算 ........................................333
通过测试输入数据来处理错误 ........................................334
用try语句处理错误 ........................................335
嵌套三层深的代码 ........................................337
本章小结 ........................................338
本章习题 ........................................338
习题解答 ........................................338
第11章 赋值、表达式和打印 ....................................... 340
赋值语句 ........................................340
赋值语句形式 ........................................341
序列赋值 ........................................342
Python 3.X中的扩展序列解包 ........................................345
多目标赋值........................................349
增量赋值 ........................................350
变量命名规则 ........................................353
Python中的废弃协议 ........................................355
表达式语句 ........................................356
表达式语句和原位置修改 ........................................358
打印操作 ........................................358
Python 3.X的print函数 ........................................359
Python 2.X的print语句 ........................................362
打印流重定向 ........................................363
版本中立的打印 ........................................367
为什么你要注意:print和stdout ........................................369
本章小结 ........................................370
本章习题 ........................................370
习题解答 ........................................370
第12章 if测试和语法规则 ........................................ 372
if语句........................................372
一般形式 ........................................372
基础示例 ........................................373
多路分支 ........................................373
复习Python语法规则 ........................................375
代码块分隔符:缩进规则 ........................................377
语句分隔符:行与行间连接符 ........................................378
一些特殊情况 ........................................379
真值和布尔测试 ........................................381
if/else三元表达式 ........................................383
请留意:布尔值 ........................................384
本章小结 ........................................386
本章习题 ........................................386
习题解答 ........................................386
第13章 while循环和for循环 ........................................ 387
while循环 ........................................387
一般形式 ........................................387
示例 ........................................388
break、continue、pass和循环的else ........................................389
一般循环形式 ........................................389
pass ........................................389
continue ........................................391
break ........................................391
循环的else ........................................392
请留意:仿真C 语言的while循环 ........................................393
for循环 ........................................394
一般形式 ........................................394
示例 ........................................395
请留意:文件扫描器 ........................................400
编写循环的技巧 ........................................402
计数器循环:range ........................................402
序列扫描:while和range vs for ........................................403
序列乱序器:range和len ........................................404
非穷尽遍历:range vs分片 ........................................405
修改列表:range vs推导 ........................................406
并行遍历:zip和map ........................................407
同时给出偏移量和元素:enumerate ........................................410
请留意:shell命令及其他 ........................................ 411
本章小结 ........................................414
本章习题 ........................................414
习题解答 ........................................414
第14章 迭代和推导 ........................................ 416
迭代器:初次探索 ........................................417
迭代协议:文件迭代器 ........................................417
手动迭代:iter和next ........................................420
其他内置类型可迭代对象 ........................................423
列表推导:初次深入探索 ........................................425
列表推导基础 ........................................426
在文件上使用列表推导 ........................................427
扩展的列表推导语法 ........................................428
其他迭代上下文 ........................................430
Python 3.X新增的可迭代对象 ........................................435
对Python 2.X版本代码的影响:利与弊 ........................................435
range可迭代对象 ........................................436
map、zip和filter可迭代对象 ........................................437
多遍迭代器vs单遍迭代器 ........................................439
字典视图可迭代对象 ........................................440
其他迭代话题 ........................................441
本章小结 ........................................442
本章习题 ........................................442
习题解答 ........................................442
第15章 文档 ........................................ 444
Python文档资源 ........................................444
#注释 ........................................445
dir函数 ........................................445
文档字符串:__doc__ ........................................447
PyDoc:help函数 ........................................450
PyDoc:HTML报告 ........................................453
改变PyDoc的颜色 ........................................456
超越文档字符串:Sphinx ........................................461
标准手册集........................................462
网络资源 ........................................463
已出版的书籍 ........................................463
常见代码编写陷阱 ........................................463
本章小结 ........................................465
本章习题 ........................................466
习题解答 ........................................466
第三部分练习题 ........................................467
第四部分 函数和生成器
第16章 函数基础 ........................................ 473
为何使用函数 ........................................474
编写函数 ........................................475
def语句 ........................................476
def语句执行于运行时 ........................................477
第一个示例:定义和调用 ........................................478
定义 ........................................478
调用 ........................................478
Python中的多态 ........................................479
第二个示例:寻找序列的交集 ........................................480
定义 ........................................480
调用 ........................................481
重访多态 ........................................482
局部变量 ........................................482
本章小结 ........................................483
本章习题 ........................................483
习题解答 ........................................483
第17章 作用域 ........................................ 485
Python作用域基础 ........................................485
作用域细节........................................486
变量名解析:LEGB规则 ........................................488
作用域实例........................................490
内置作用域........................................491
打破Python 2.X的小宇宙 ........................................494
global语句 ........................................494
程序设计:最少化全局变量 ........................................495
程序设计:最小化跨文件的修改 ........................................497
其他访问全局变量的方式 ........................................498
作用域和嵌套函数 ........................................499
嵌套作用域的细节 ........................................500
嵌套作用域举例 ........................................500
工厂函数:闭包 ........................................501
使用默认值参数来保存外层作用域的状态 ........................................503
Python 3.X中的nonlocal语句 ........................................507
nonlocal基础 ........................................508
nonlocal应用 ........................................509
为什么选nonlocal?状态保持备选项 ........................................ 511
nonlocal变量的状态:仅适用于Python 3.X ........................................ 511
全局变量的状态:只有一份副本 ........................................512
类的状态:显式属性(预习) ........................................513
函数属性的状态:Python 3.X和Python 2.X的异同 .....................................514
请留意:定制open ........................................516
本章小结 ........................................518
本章习题 ........................................518
习题解答 ........................................520
第18章 参数 ........................................ 521
参数传递基础 ........................................521
参数和共享引用 ........................................522
避免修改可变参数 ........................................524
模拟输出参数和多重结果 ........................................525
特殊的参数匹配模式 ........................................526
参数匹配基础 ........................................526
参数匹配语法 ........................................527
更深入的细节 ........................................528
关键字参数和默认值参数的示例 ........................................529
可变长参数的实例 ........................................532
Python 3.X的keyword-only参数 ........................................536
min提神小例 ........................................539
满分 ........................................540
附加分 ........................................541
结论 ........................................542
通用set函数 ........................................542
模拟Python 3.X print函数 ........................................544
使用keyword-only参数 ........................................546
请留意:关键字参数 ........................................547
本章小结 ........................................548
本章习题 ........................................548
习题解答 ........................................549
第19章 函数的高级话题 ........................................ 550
函数设计概念 ........................................550
递归函数 ........................................552
用递归求和........................................552
编码替代方案 ........................................553
循环语句vs递归 ........................................554
处理任意结构 ........................................555
函数对象:属性和注解 ........................................558
间接函数调用:“一等”对象 ........................................559
函数自省 ........................................560
函数属性 ........................................561
Python 3.X中的函数注解 ........................................562
匿名函数:lambda........................................564
lambda表达式基础 ........................................564
为什么使用lambda ........................................566
如何(不)让Python代码变得晦涩难懂 ........................................568
作用域:lambda也能嵌套 ........................................569
请留意:lambda回调 ........................................570
函数式编程工具 ........................................570
在可迭代对象上映射函数:map ........................................571
选择可迭代对象中的元素:filter ........................................573
合并可迭代对象中的元素:reduce ........................................573
本章小结 ........................................575
本章习题 ........................................575
习题解答 ........................................575
第20章 推导和生成 ........................................ 577
列表推导与函数式编程工具 ........................................577
列表推导与map ........................................578
使用filter增加测试和循环嵌套 ........................................579
示例:列表推导与矩阵 ........................................582
不要滥用列表推导:简单胜于复杂(KISS) ........................................584
请留意:列表推导和map ........................................585
生成器函数与表达式 ........................................587
生成器函数:yield vs return ........................................587
生成器表达式:当可迭代对象遇见推导语法 ........................................592
生成器函数vs生成器表达式 ........................................597
生成器是单遍迭代对象 ........................................599
Python 3.3的yield from扩展 ........................................600
内置类型、工具和类中的值生成 ........................................601
实例:生成乱序序列 ........................................604
不要过度使用生成器:明确胜于隐晦(EIBTI) ........................................609
示例:用迭代工具模拟zip和map ........................................ 611
为什么你要注意:单遍迭代 ........................................616
推导语法总结 ........................................617
作用域及推导变量 ........................................617
理解集合推导和字典推导 ........................................619
集合与字典的扩展推导语法 ........................................620
本章小结 ........................................621
本章习题 ........................................621
习题解答 ........................................621
第21章 基准测试 ........................................ 623
计时迭代可选方案 ........................................623
自己编写的计时模块 ........................................624
3.3版本中新的计时器调用 ........................................627
计时脚本 ........................................628
计时结果 ........................................630
计时模块可选方案 ........................................633
其他建议 ........................................636
用timeit为迭代和各种Python计时 ........................................637
timeit基础用法 ........................................637
基准测试模块和脚本:timeit ........................................641
基准测试脚本结果 ........................................643
基准测试的更多乐趣 ........................................646
其他基准测试主题:pystones ........................................650
函数陷阱 ........................................651
局部变量是被静态检测的 ........................................651
默认值参数和可变对象 ........................................653
没有return语句的函数 ........................................655
其他函数陷阱 ........................................655
本章小结 ........................................656
本章习题 ........................................656
习题解答 ........................................656
第四部分练习题 ........................................657
第五部分 模块和包
第22章 模块:宏伟蓝图 ........................................ 663
为什么使用模块 ........................................664
Python程序架构 ........................................664
如何组织一个程序 ........................................665
导入和属性........................................665
标准库模块........................................667
import如何工作 ........................................667
1.搜索 ........................................668
2.编译(可选) ........................................668
3.运行 ........................................669
字节码文件:Python 3.2及以上版本的__pycache__ ........................................670
实际应用中的字节码文件模型 ........................................671
模块搜索路径 ........................................672
配置搜索路径 ........................................674
搜索路径的变化 ........................................674
sys.path列表 ........................................675
模块文件选择 ........................................676
第三方工具:distutils ........................................678
本章小结 ........................................678
本章习题 ........................................679
习题解答 ........................................679
第23章 模块代码编写基础 ........................................ 680
模块的创建 ........................................680
模块文件名........................................680
其他种类的模块 ........................................681
模块的使用 ........................................681
import语句 ........................................681
from语句 ........................................682
from *语句 ........................................682
导入只发生一次 ........................................683
import和from是赋值语句 ........................................684
import和from的等价性 ........................................685
from语句潜在的陷阱 ........................................686
模块命名空间 ........................................687
文件产生命名空间 ........................................687
命名空间字典:__dict__ ........................................689
属性名称的点号运算 ........................................689
导入与作用域 ........................................690
命名空间的嵌套 ........................................691
重新加载模块 ........................................692
reload基础 ........................................693
reload示例 ........................................694
请留意:模块重新加载 ........................................695
本章小结 ........................................696
本章习题 ........................................696
习题解答 ........................................696
第24章 模块包 ........................................ 698
包导入基础 ........................................698
包和搜索路径设置 ........................................699
__init__.py包文件 ........................................700
包导入示例 ........................................702
包的from语句与包的import语句 ........................................703
为什么要使用包导入 ........................................704
三个系统的故事 ........................................705
请留意:模块包 ........................................707
包相对导入 ........................................708
Python 3.X中的变化 ........................................708
相对导入基础知识 ........................................709
为什么使用相对导入 ........................................710
相对导入的适用情况 ........................................713
模块查找规则总结 ........................................713
相对导入的实际应用 ........................................714
包相对导入的陷阱:混合使用 ........................................719
Python 3.3中的命名空间包 ........................................724
命名空间包的语义 ........................................725
对常规包的影响:可选的__init__.py ........................................726
命名空间包的实际应用 ........................................727
命名空间包嵌套 ........................................729
文件仍然优先于路径 ........................................730
本章小结 ........................................732
本章习题 ........................................732
习题解答 ........................................733
第25章 高级模块话题 ........................................ 734
模块设计概念 ........................................734
模块中的数据隐藏 ........................................736
使 * 的破坏最小化:_X和__all__ ........................................736
启用未来语言特性:__future__ ........................................737
混合使用模式:__name__和__main__ ........................................738
以__name__进行单元测试 ........................................739
示例:双模式代码 ........................................740
货币符号:Unicode的应用 ........................................743
文档字符串:模块文档的应用 ........................................745
修改模块搜索路径 ........................................746
import语句和from语句的as扩展 ........................................747
示例:模块即是对象 ........................................748
用名称字符串导入模块 ........................................750
运行代码字符串 ........................................751
直接调用:两种方式 ........................................751
示例:传递性模块重载译注1 ........................................ 752
递归重载器........................................752
另外的代码........................................756
模块陷阱 ........................................759
模块名称冲突:包和包相对导入 ........................................760
顶层代码中语句次序很重要 ........................................760
from复制名称,而不是链接 ........................................761
from *会让变量含义模糊化 ........................................762
reload不能作用于from导入 ........................................762
reload、from以及交互式测试 ........................................763
递归形式的from导入可能无法工作 ........................................764
本章小结 ........................................765
本章习题 ........................................766
习题解答 ........................................766
第五部分练习题 ........................................766



---------------------------利用Python进行数据分析(原书第2版)---------------------------


前言1
第1章 准备工作7
1.1 本书内容7
1.1.1 什么类型的数据7
1.2 为何利用Python进行数据分析8
1.2.1 Python作为胶水8
1.2.2 解决“双语言”难题8
1.2.3 为何不使用Python9
1.3 重要的Python库9
1.3.1 NumPy9
1.3.2 pandas10
1.3.3 matplotlib11
1.3.4 IPython与Jupyter11
1.3.5 SciPy12
1.3.6 scikit-learn12
1.3.7 statsmodels13
1.4 安装与设置13
1.4.1 Windows14
1.4.2 Apple(OS X和macOS)14
1.4.3 GNU/Linux14
1.4.4 安装及更新Python包15
1.4.5 Python 2和Python 316
1.4.6 集成开发环境和文本编辑器16
1.5 社区和会议17
1.6 快速浏览本书17
1.6.1 代码示例18
1.6.2 示例数据18
1.6.3导入约定18
1.6.4术语19
第2章 Python语言基础、IPython及Jupyter notebook20
2.1 Python解释器21
2.2 IPython基础22
2.2.1 运行IPython命令行22
2.2.2 运行 Jupyter notebook23
2.2.3 Tab补全25
2.2.4 内省27
2.2.5 %run命令28
2.2.6 执行剪贴板中的程序30
2.2.7 终端快捷键30
2.2.8 关于魔术命令31
2.2.9 matplotlib集成33
2.3 Python语言基础34
2.3.1 语言语义34
2.3.2 标量类型42
2.3.3 控制流49
第3章 内建数据结构、函数及文件54
3.1 数据结构和序列54
3.1.1 元组54
3.1.2 列表57
3.1.3 内建序列函数61
3.1.4 字典64
3.1.5集合67
3.1.6 列表、集合和字典的推导式69
3.2 函数72
3.2.1 命名空间、作用域和本地函数72
3.2.2 返回多个值73
3.2.3 函数是对象74
3.2.4 匿名(Lambda)函数75
3.2.5 柯里化:部分参数应用76
3.2.6 生成器77
3.2.7 错误和异常处理79
3.3 文件与操作系统82
3.3.1 字节与Unicode文件85
3.4 本章小结86
第4章 NumPy基础:数组与向量化计算87
4.1 NumPy ndarray:多维数组对象89
4.1.1 生成ndarray90
4.1.2 ndarray的数据类型92
4.1.3 NumPy数组算术94
4.1.4 基础索引与切片95
4.1.5 布尔索引100
4.1.6 神奇索引103
4.1.7 数组转置和换轴104
4.2 通用函数:快速的逐元素数组函数106
4.3 使用数组进行面向数组编程109
4.3.1 将条件逻辑作为数组操作110
4.3.2 数学和统计方法111
4.3.3 布尔值数组的方法113
4.3.4 排序114
4.3.5 唯一值与其他集合逻辑115
4.4 使用数组进行文件输入和输出115
4.5 线性代数116
4.6 伪随机数生成118
4.7 示例:随机漫步120
4.7.1 一次性模拟多次随机漫步121
4.8 本章小结122
第5章 pandas入门123
5.1 pandas数据结构介绍123
5.1.1 Series123
5.1.2 DataFrame128
5.1.3 索引对象134
5.2 基本功能135
5.2.1 重建索引136
5.2.2 轴向上删除条目138
5.2.3 索引、选择与过滤140
5.2.4 整数索引144
5.2.5 算术和数据对齐145
5.2.6 函数应用和映射150
5.2.7 排序和排名152
5.2.8 含有重复标签的轴索引155
5.3 描述性统计的概述与计算157
5.3.1 相关性和协方差159
5.3.2 唯一值、计数和成员属性161
5.4 本章小结164
第6章 数据载入、存储及文件格式165
6.1 文本格式数据的读写165
6.1.1 分块读入文本文件171
6.1.2 将数据写入文本格式172
6.1.3 使用分隔格式174
6.1.4 JSON数据176
6.1.5 XML和HTML:网络抓取177
6.2 二进制格式180
6.2.1 使用HDF5格式181
6.2.2 读取Microsoft Excel文件183
6.3 与Web API交互184
6.4 与数据库交互186
6.5 本章小结187
第7章 数据清洗与准备188
7.1 处理缺失值188
7.1.1 过滤缺失值189
7.1.2 补全缺失值191
7.2 数据转换194
7.2.1 删除重复值194
7.2.2 使用函数或映射进行数据转换195
7.2.3 替代值197
7.2.4 重命名轴索引198
7.2.5 离散化和分箱199
7.2.6 检测和过滤异常值202
7.2.7 置换和随机抽样203
7.2.8 计算指标/虚拟变量204
7.3 字符串操作207
7.3.1 字符串对象方法208
7.3.2 正则表达式210
7.3.3 pandas中的向量化字符串函数213
7.4 本章小结215
第8章 数据规整:连接、联合与重塑216
8.1 分层索引216
8.1.1重排序和层级排序219
8.1.2 按层级进行汇总统计220
8.1.3 使用DataFrame的列进行索引220
8.2 联合与合并数据集221
8.2.1 数据库风格的DataFrame连接222
8.2.2 根据索引合并226
8.2.3 沿轴向连接230
8.2.4 联合重叠数据235
8.3 重塑和透视236
8.3.1 使用多层索引进行重塑236
8.3.2 将“长”透视为“宽”240
8.3.3 将“宽”透视为“长”242
8.4 本章小结244
第9章 绘图与可视化245
9.1 简明matplotlib API入门245
9.1.1 图片与子图246
9.1.2 颜色、标记和线类型250
9.1.3 刻度、标签和图例252
9.1.4 注释与子图加工255
9.1.5 将图片保存到文件258
9.1.6 matplotlib设置258
9.2 使用pandas和seaborn绘图259
9.2.1 折线图259
9.2.2 柱状图262
9.2.3 直方图和密度图266
9.2.4 散点图或点图269
9.2.5 分面网格和分类数据270
9.3 其他Python可视化工具271
9.4 本章小结272
第10章 数据聚合与分组操作274
10.1 GroupBy机制274
10.1.1 遍历各分组278
10.1.2 选择一列或所有列的子集279
10.1.3 使用字典和Series分组280
10.1.4 使用函数分组281
10.1.5 根据索引层级分组282
10.2 数据聚合282
10.2.1 逐列及多函数应用284
10.2.2 返回不含行索引的聚合数据287
10.3 应用:通用拆分-应用-联合288
10.3.1 压缩分组键290
10.3.2 分位数与桶分析291
10.3.3 示例:使用指定分组值填充缺失值292
10.3.4 示例:随机采样与排列294
10.3.5 示例:分组加权平均和相关性296
10.3.6 示例:逐组线性回归298
10.4 数据透视表与交叉表298
10.4.1 交叉表:crosstab301
10.5 本章小结302
第11章 时间序列303
11.1 日期和时间数据的类型及工具303
11.1.1 字符串与datetime互相转换305
11.2 时间序列基础307
11.2.1 索引、选择、子集308
11.2.2 含有重复索引的时间序列311
11.3 日期范围、频率和移位312
11.3.1 生成日期范围313
11.3.2 频率和日期偏置316
11.3.3 移位(前向和后向)日期317
11.4 时区处理320
11.4.1 时区的本地化和转换320
11.4.2 时区感知时间戳对象的操作323
11.4.3 不同时区间的操作324
11.5 时间区间和区间算术324
11.5.1 区间频率转换326
11.5.2 季度区间频率327
11.5.3 将时间戳转换为区间(以及逆转换)329
11.5.4 从数组生成PeriodIndex330
11.6 重新采样与频率转换332
11.6.1 向下采样334
11.6.2 向上采样与插值336
11.6.3 使用区间进行重新采样337
11.7 移动窗口函数339
11.7.1 指数加权函数342
11.7.2 二元移动窗口函数343
11.7.3 用户自定义的移动窗口函数344
11.8 本章小结344
第12章 高阶pandas346
12.1 分类数据346
12.1.1 背景和目标346
12.1.2 pandas中的Categorical类型348
12.1.3 使用Categorical对象进行计算350
12.1.4 分类方法352
12.2 高阶GroupBy应用355
12.2.1 分组转换和“展开”GroupBy355
12.2.2 分组的时间重新采样359
12.3 方法链技术361
12.3.1 pipe方法362
12.4 本章小结363
第13章 Python建模库介绍364
13.1 pandas与建模代码的结合364
13.2 使用Patsy创建模型描述367
13.2.1 Patsy公式中的数据转换369
13.2.2 分类数据与Patsy371
13.3 statsmodels介绍373
13.3.1 评估线性模型374
13.3.2 评估时间序列处理377
13.4 scikit-learn介绍377
13.5 继续你的教育381
第14章 数据分析示例382
14.1 从Bitly获取1.USA.gov数据382
14.1.1 纯Python时区计数383
14.1.2 使用pandas进行时区计数385
14.2 MovieLens 1M数据集392
14.2.1 测量评价分歧396
14.3 美国1880~2010年的婴儿名字397
14.3.1分析名字趋势402
14.4 美国农业部食品数据库410
14.5 2012年联邦选举委员会数据库416
14.5.1 按职业和雇主的捐献统计419
14.5.2 捐赠金额分桶421
14.5.3 按州进行捐赠统计423
14.6 本章小结424
附录A 高阶NumPy425
附录B 更多IPython系统相关内容457



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4