深入浅出Pandas | PDF下载|ePub下载
出版社: 人民邮电出版社
原作名: Cracking the coding interview:150 programming questions and solutions,fifth edition
译者:李琳骁/漆犇
出版年: 2013-11
页数: 372
定价: 59.00元
装帧: 平装
ISBN: 9787115332912
内容简介 · · · · · ·
如果你想充分发挥Python的强大作用,如果你想成为一名好的Python工程师,你应该先学好Pandas。
这是一本全面覆盖了Pandas使用者的普遍需求和痛点的著作,基于实用、易学的原则,从功能、使用、原理等多个维度对Pandas做了全方位的详细讲解,既是初学者系统学习Pandas难得的入门书,又是有经验的Python工程师案头必不可少的查询手册。
本书共17章,分为七部分。
第1部分(第1~2章) Pandas入门
首先介绍了Pandas的功能、使用场景和学习方法,然后详细讲解了Python开发环境的搭建,Z后介绍了Pandas的大量基础功能,旨在引领读者快速入门。
第二部分(第3~5章) Pandas数据分析基础
详细讲解了Pandas读取与输出数据、索引操作、数据类型转换、查询筛选、统计计算、排序、位移、数据修改、数据迭代、函数应用等内容。
第三部分(第6~9章) 数据形式变化
讲解了Pandas的分组聚合操作、合并操作、对比操作、数据透视、转置、归一化、标准化等,以及如何利用多层索引对数据进行升降维。
第四部分(第10~12章) 数据清洗
讲解了缺失值和重复值的识别、删除、填充,数据的替换、格式转换,文本的提取、连接、匹配、切分、替换、格式化、虚拟变量化等,以及分类数据的应用场景和操作方法。
第五部分(第13~14章)时序数据分析
讲解了Pandas中对于各种时间类型数据的处理和分析,以及在时序数据处理中经常使用的窗口计算。
第六部分(第15~16章) 可视化
讲解了Pandas的样式功能如何让数据表格更有表现力,以及Pandas的绘图功能如何让数据自己说话。
第七部分(第17章) 实战案例
介绍了从需求到代码的思考过程,如何利用链式编程思想提高代码编写和数据分析效率,以及数据分析的基本方法与需要掌握的数据分析工具和技术栈,此外还从数据处理和数据分析两个角度给出了大量的应用案例及代码详解。
作者简介 · · · · · ·
李庆辉,数据产品专家,某电商公司数据产品团队负责人,擅长通过数据治理、数据分析、数据化运营提升公司的数据应用水平。
精通 Python 数据科学及 Python Web 开发,曾独立开发公司的自动化数据分析平台,参与教育部“1+X”数据分析(Python)职业技能等级标准评审。
中国人工智能学会会员,企业数字化、数据产品和数据分析讲师,在个人网站“盖若”上编写的技术和产品教程广受欢迎。
目录 · · · · · ·
第一部分 Pandas入门
第1章 Pandas简介及快速入门2
1.1 Pandas是什么2
1.1.1 Python简介2
1.1.2 Python的应用3
1.1.3 为什么不选择R4
1.1.4 Pandas简介4
1.1.5 Pandas的使用人群5
1.1.6 Pandas的基本功能5
1.1.7 Pandas的学习方法6
1.1.8 小结6
1.2 环境搭建及安装6
1.2.1 Python环境安装7
1.2.2 Anaconda简介7
1.2.3 安装miniconda8
1.2.4 多Python版本环境9
1.2.5 安装编辑器10
1.2.6 Jupyter Notebook10
1.2.7 用pip安装三方库11
1.2.8 安装Jupyter Notebook12
1.2.9 启动Jupyter Notebook12
1.2.10 使用Jupyter Notebook13
1.2.11 安装Pandas14
1.2.12 小结14
1.3 Pandas快速入门14
1.3.1 安装导入14
1.3.2 准备数据集15
1.3.3 读取数据15
1.3.4 查看数据16
1.3.5 验证数据17
1.3.6 建立索引17
1.3.7 数据选取18
1.3.8 排序19
1.3.9 分组聚合19
1.3.10 数据转换20
1.3.11 增加列21
1.3.12 统计分析21
1.3.13 绘图21
1.3.14 导出24
1.3.15 小结24
1.4 本章小结24
第2章 数据结构25
2.1 数据结构概述25
2.1.1 什么是数据25
2.1.2 什么是数据结构26
2.1.3 小结26
2.2 Python的数据结构26
2.2.1 数字27
2.2.2 字符串27
2.2.3 布尔型28
2.2.4 列表29
2.2.5 元组30
2.2.6 字典30
2.2.7 集合31
2.2.8 小结32
2.3 NumPy32
2.3.1 NumPy简介33
2.3.2 数据结构33
2.3.3 创建数据34
2.3.4 数据类型34
2.3.5 数组信息35
2.3.6 统计计算35
2.3.7 小结35
2.4 Pandas的数据结构35
2.4.1 Series36
2.4.2 DataFrame36
2.4.3 索引37
2.4.4 小结38
2.5 Pandas生成数据38
2.5.1 导入Pandas38
2.5.2 创建数据38
2.5.3 生成Series40
2.5.4 生成DataFrame41
2.5.5 小结43
2.6 Pandas的数据类型43
2.6.1 数据类型查看43
2.6.2 常见数据类型44
2.6.3 数据检测44
2.6.4 小结45
2.7 本章小结45
第二部分 Pandas数据分析基础
第3章 Pandas数据读取与输出48
3.1 数据读取48
3.1.1 CSV文件49
3.1.2 Excel49
3.1.3 JSON 50
3.1.4 HTML50
3.1.5 剪贴板51
3.1.6 SQL51
3.1.7 小结52
3.2 读取CSV52
3.2.1 语法52
3.2.2 数据内容53
3.2.3 分隔符53
3.2.4 表头54
3.2.5 列名54
3.2.6 索引54
3.2.7 使用部分列54
3.2.8 返回序列55
3.2.9 表头前缀55
3.2.10 处理重复列名55
3.2.11 数据类型55
3.2.12 引擎55
3.2.13 列数据处理56
3.2.14 真假值转换56
3.2.15 跳过指定行56
3.2.16 读取指定行57
3.2.17 空值替换57
3.2.18 保留默认空值57
3.2.19 日期时间解析58
3.2.20 文件处理59
3.2.21 符号60
3.2.22 小结61
3.3 读取Excel61
3.3.1 语法61
3.3.2 文件内容62
3.3.3 表格62
3.3.4 表头62
3.3.5 列名62
3.3.6 其他62
3.3.7 小结63
3.4 数据输出63
3.4.1 CSV63
3.4.2 Excel63
3.4.3 HTML64
3.4.4 数据库(SQL)64
3.4.5 Markdown65
3.4.6 小结65
3.5 本章小结65
第4章 Pandas基础操作66
4.1 索引操作66
4.1.1 认识索引66
4.1.2 建立索引67
4.1.3 重置索引68
4.1.4 索引类型68
4.1.5 索引对象69
4.1.6 索引的属性70
4.1.7 索引的操作70
4.1.8 索引重命名72
4.1.9 修改索引内容72
4.1.10 小结73
4.2 数据的信息73
4.2.1 查看样本73
4.2.2 数据形状74
4.2.3 基础信息74
4.2.4 数据类型74
4.2.5 行列索引内容75
4.2.6 其他信息75
4.2.7 小结75
4.3 统计计算76
4.3.1 描述统计76
4.3.2 数学统计77
4.3.3 统计函数78
4.3.4 非统计计算79
4.3.5 小结80
4.4 位置计算80
4.4.1 位置差值diff80
4.4.2 位置移动shift81
4.4.3 位置序号rank81
4.4.4 小结82
4.5 数据选择82
4.5.1 选择列83
4.5.2 切片[]83
4.5.3 按轴标签.loc84
4.5.4 按数字索引.iloc86
4.5.5 取具体值.at/.iat86
4.5.6 获取数据.get86
4.5.7 数据截取.truncate87
4.5.8 索引选择器87
4.5.9 小结87
4.6 本章小结88
第5章 Pandas高级操作89
5.1 复杂查询89
5.1.1 逻辑运算89
5.1.2 逻辑筛选数据91
5.1.3 函数筛选92
5.1.4 比较函数92
5.1.5 查询df.query93
5.1.6 筛选df.filter93
5.1.7 按数据类型查询93
5.1.8 小结94
5.2 数据类型转换94
5.2.1 推断类型94
5.2.2 指定类型95
5.2.3 类型转换astype95
5.2.4 转为时间类型96
5.2.5 小结96
5.3 数据排序96
5.3.1 索引排序97
5.3.2 数值排序98
5.3.3 混合排序100
5.3.4 按值大小排序101
5.3.5 小结101
5.4 添加修改101
5.4.1 修改数值101
5.4.2 替换数据103
5.4.3 填充空值103
5.4.4 修改索引名104
5.4.5 增加列104
5.4.6 插入列df.insert105
5.4.7 指定列df.assign106
5.4.8 执行表达式df.eval108
5.4.9 增加行109
5.4.10 追加合并109
5.4.11 删除110
5.4.12 删除空值111
5.4.13 小结111
5.5 高级过滤111
5.5.1 df.where111
5.5.2 np.where113
5.5.3 df.mask115
5.5.4 df.lookup116
5.5.5 小结116
5.6 数据迭代116
5.6.1 迭代Series116
5.6.2 df.iterrows117
5.6.3 df.itertuples117
5.6.4 df.items118
5.6.5 按列迭代119
5.6.6 小结119
5.7 函数应用120
5.7.1 pipe120
5.7.2 apply121
5.7.3 applymap123
5.7.4 map124
5.7.5 agg124
5.7.6 transform125
5.7.7 copy126
5.7.8 小结126
5.8 本章小结126
第三部分 数据形式变化
第6章 Pandas分组聚合128
6.1 概述128
6.1.1 原理128
6.1.2 groupby语法129
6.1.3 DataFrame应用分组130
6.1.4 Series应用分组131
6.1.5 小结131
6.2 分组131
6.2.1 分组对象131
6.2.2 按标签分组132
6.2.3 表达式132
6.2.4 函数分组133
6.2.5 多种方法混合134
6.2.6 用pipe调用分组方法134
6.2.7 分组器Grouper135
6.2.8 索引136
6.2.9 排序136
6.2.10 小结136
6.3 分组对象的操作136
6.3.1 选择分组137
6.3.2 迭代分组138
6.3.3 选择列139
6.3.4 应用函数apply139
6.3.5 管道方法pipe142
6.3.6 转换方法transform142
6.3.7 筛选方法filter144
6.3.8 其他功能145
6.3.9 小结146
6.4 聚合统计146
6.4.1 描述统计146
6.4.2 统计函数147
6.4.3 聚合方法agg147
6.4.4 时序重采样方法resample149
6.4.5 组内头尾值150
6.4.6 组内分位数150
6.4.7 组内差值151
6.4.8 小结151
6.5 数据分箱151
6.5.1 定界分箱pd.cut152
6.5.2 等宽分箱pd.qcut152
6.5.3 小结154
6.6 分组可视化154
6.6.1 绘图方法plot154
6.6.2 直方图hist155
6.6.3 箱线图boxplot156
6.6.4 小结157
6.7 本章小结158
第7章 Pandas数据合并与对比159
7.1 数据追加df.append159
7.1.1 基本语法159
7.1.2 相同结构160
7.1.3 不同结构161
7.1.4 忽略索引161
7.1.5 重复内容162
7.1.6 追加序列162
7.1.7 追加字典163
7.1.8 小结163
7.2 数据连接pd.concat163
7.2.1 基本语法163
7.2.2 简单连接164
7.2.3 按列连接164
7.2.4 合并交集165
7.2.5 与序列合并165
7.2.6 指定索引166
7.2.7 多文件合并166
7.2.8 目录文件合并167
7.2.9 小结167
7.3 数据合并pd.merge167
7.3.1 基本语法168
7.3.2 连接键168
7.3.3 索引连接169
7.3.4 多连接键169
7.3.5 连接方法170
7.3.6 连接指示170
7.3.7 小结171
7.4 按元素合并171
7.4.1 df.combine_first171
7.4.2 df.combine172
7.4.3 df.update173
7.4.4 小结173
7.5 数据对比df.compare173
7.5.1 简单对比174
7.5.2 对齐方式174
7.5.3 显示相同值174
7.5.4 保持形状175
7.5.5 小结175
7.6 本章小结175
第8章 Pandas多层索引177
8.1 概述177
8.1.1 什么是多层索引177
8.1.2 通过分组产生多层索引178
8.1.3 由序列创建多层索引179
8.1.4 由元组创建多层索引179
8.1.5 可迭代对象的笛卡儿积180
8.1.6 将DataFrame转为多层索引对象180
8.1.7 小结180
8.2 多层索引操作181
8.2.1 生成数据181
8.2.2 索引信息181
8.2.3 查看层级182
8.2.4 索引内容182
8.2.5 排序183
8.2.6 其他操作183
8.2.7 小结183
8.3 数据查询183
8.3.1 查询行183
8.3.2 查询列184
8.3.3 行列查询185
8.3.4 条件查询185
8.3.5 用pd.IndexSlice索引数据186
8.3.6 df.xs186
8.3.7 小结186
8.4 本章小结186
第9章 Pandas数据重塑与透视187
9.1 数据透视187
9.1.1 整理透视187
9.1.2 整理透视操作188
9.1.3 聚合透视189
9.1.4 聚合透视操作190
9.1.5 聚合透视高级操作191
9.1.6 小结192
9.2 数据堆叠192
9.2.1 理解堆叠193
9.2.2 堆叠操作df.stack194
9.2.3 解堆操作df.unstack195
9.2.4 小结195
9.3 交叉表195
9.3.1 基本语法196
9.3.2 生成交叉表196
9.3.3 归一化197
9.3.4 指定聚合方法198
9.3.5 汇总198
9.3.6 小结199
9.4 数据转置df.T199
9.4.1 理解转置199
9.4.2 转置操作200
9.4.3 类型变化200
9.4.4 轴交换df.swapaxes201
9.4.5 小结201
9.5 数据融合201
9.5.1 基本语法201
9.5.2 融合操作202
9.5.3 标识和值203
9.5.4 指定名称204
9.5.5 小结204
9.6 虚拟变量204
9.6.1 语法结构204
9.6.2 生成虚拟变量205
9.6.3 列前缀205
9.6.4 从DataFrame生成206
9.6.5 小结207
9.7 因子化207
9.7.1 基本方法207
9.7.2 排序208
9.7.3 缺失值208
9.7.4 枚举类型208
9.7.5 小结208
9.8 爆炸列表208
9.8.1 基本功能209
9.8.2 DataFrame的爆炸209
9.8.3 非列表格式210
9.8.4 小结210
9.9 本章小结210
第四部分 数据清洗
第10章 Pandas数据清洗212
10.1 缺失值的认定212
10.1.1 缺失值类型212
10.1.2 缺失值判断213
10.1.3 缺失值统计214
10.1.4 缺失值筛选214
10.1.5 NA标量215
10.1.6 时间数据中的缺失值216
10.1.7 整型数据中的缺失值216
10.1.8 插入缺失值217
10.1.9 小结217
10.2 缺失值的操作217
10.2.1 缺失值填充217
10.2.2 插值填充219
10.2.3 缺失值删除220
10.2.4 缺失值参与计算221
10.2.5 小结223
10.3 数据替换223
10.3.1 指定值替换223
10.3.2 使用替换方式223
10.3.3 字符替换223
10.3.4 缺失值替换224
10.3.5 数字替换224
10.3.6 数据修剪225
10.3.7 小结226
10.4 重复值及删除数据226
10.4.1 重复值识别226
10.4.2 删除重复值228
10.4.3 删除数据229
10.4.4 小结229
10.5 NumPy格式转换230
10.5.1 转换方法230
10.5.2 DataFrame转为ndarray230
10.5.3 Series转为ndarray231
10.5.4 df.to_records231
10.5.5 np.array读取231
10.5.6 小结232
10.6 本章小结232
第11章 Pandas文本处理233
11.1 数据类型233
11.1.1 文本数据类型233
11.1.2 类型转换234
11.1.3 类型异同234
11.1.4 小结235
11.2 字符的操作235
11.2.1 .str访问器235
11.2.2 文本格式236
11.2.3 文本对齐236
11.2.4 计数和编码236
11.2.5 格式判定237
11.2.6 小结237
11.3 文本高级处理237
11.3.1 文本分隔237
11.3.2 字符分隔展开238
11.3.3 文本切片选择239
11.3.4 文本划分240
11.3.5 文本替换241
11.3.6 指定替换241
11.3.7 重复替换242
11.3.8 文本连接243
11.3.9 文本查询244
11.3.10 文本包含245
11.3.11 文本提取246
11.3.12 提取虚拟变量247
11.3.13 小结248
11.4 本章小结248
第12章 Pandas分类数据249
12.1 分类数据249
12.1.1 创建分类数据249
12.1.2 pd.Categorical251
12.1.3 CategoricalDtype对象251
12.1.4 类型转换252
12.1.5 小结253
12.2 分类的操作253
12.2.1 修改分类253
12.2.2 追加新分类254
12.2.3 删除分类254
12.2.4 顺序255
12.2.5 小结256
12.3 本章小结256
第五部分 时序数据分析
第13章 Pandas窗口计算258
13.1 窗口计算258
13.1.1 理解窗口计算258
13.1.2 移动窗口259
13.1.3 扩展窗口259
13.1.4 指数加权移动260
13.1.5 小结260
13.2 窗口操作260
13.2.1 计算方法260
13.2.2 基本语法261
13.2.3 移动窗口使用262
13.2.4 统计方法263
13.2.5 agg264
13.2.6 apply264
13.2.7 扩展窗口265
13.2.8 小结266
13.3 本章小结266
第14章 Pandas时序数据267
14.1 固定时间267
14.1.1 时间的表示267
14.1.2 创建时间点268
14.1.3 时间的属性269
14.1.4 时间的方法270
14.1.5 时间缺失值271
14.1.6 小结272
14.2 时长数据272
14.2.1 创建时间差272
14.2.2 时长的加减274
14.2.3 时长的属性275
14.2.4 时长索引275
14.2.5 小结275
14.3 时间序列275
14.3.1 时序索引275
14.3.2 创建时序数据276
14.3.3 数据访问277
14.3.4 类型转换279
14.3.5 按格式转换281
14.3.6 时间访问器.dt282
14.3.7 时长数据访问器284
14.3.8 时序数据移动284
14.3.9 频率转换285
14.3.10 小结286
14.4 时间偏移286
14.4.1 DateOffset对象286
14.4.2 偏移别名287
14.4.3 移动偏移289
14.4.4 应用偏移289
14.4.5 偏移参数290
14.4.6 相关查询290
14.4.7 与时序的计算291
14.4.8 锚定偏移292
14.4.9 自定义工作时间294
14.4.10 小结296
14.5 时间段297
14.5.1 Period对象297
14.5.2 属性方法297
14.5.3 时间段的计算298
14.5.4 时间段索引299
14.5.5 数据查询300
14.5.6 相关类型转换301
14.5.7 小结302
14.6 时间操作302
14.6.1 时区转换302
14.6.2 时间的格式化303
14.6.3 时间重采样304
14.6.4 上采样306
14.6.5 重采样聚合307
14.6.6 时间类型间转换307
14.6.7 超出时间戳范围时间308
14.6.8 区间间隔309
14.6.9 小结311
14.7 本章小结312
第六部分 可视化
第15章 Pandas样式314
15.1 内置样式314
15.1.1 样式功能314
15.1.2 Styler对象315
15.1.3 空值高亮315
15.1.4 极值高亮316
15.1.5 背景渐变317
15.1.6 条形图318
15.1.7 小结320
15.2 显示格式320
15.2.1 语法结构320
15.2.2 常用方法320
15.2.3 综合运用321
15.2.4 小结321
15.3 样式高级操作322
15.3.1 样式配置操作322
15.3.2 表格CSS样式323
15.3.3 应用函数324
15.3.4 样式复用325
15.3.5 样式清除325
15.3.6 导出Excel326
15.3.7 生成HTML326
15.3.8 小结327
15.4 本章小结327
第16章 Pandas可视化328
16.1 plot方法328
16.1.1 plot概述328
16.1.2 plot基础方法329
16.1.3 图形类型331
16.1.4 x轴和y轴331
16.1.5 图形标题332
16.1.6 字体大小332
16.1.7 线条样式333
16.1.8 背景辅助线334
16.1.9 图例334
16.1.10 图形大小334
16.1.11 色系335
16.1.12 绘图引擎336
16.1.13 Matplotlib的其他参数337
16.1.14 图形叠加337
16.1.15 颜色的表示337
16.1.16 解决图形中的中文乱码问题338
16.1.17 小结340
16.2 常用可视化图形340
16.2.1 折线图plot.line340
16.2.2 饼图plot.pie342
16.2.3 柱状图plot.bar345
16.2.4 直方图plot.hist348
16.2.5 箱形图plot.box351
16.2.6 面积图plot.area353
16.2.7 散点图plot.scatter354
16.2.8 六边形分箱图plot.hexbin356
16.2.9 小结357
16.3 本章小结357
第七部分 实战案例
第17章 Pandas实战案例360
17.1 实战思想360
17.1.1 链式方法360
17.1.2 代码思路362
17.1.3 分析方法366
17.1.4 分析流程368
17.1.5 分析工具368
17.1.6 小结369
17.2 数据处理案例370
17.2.1 剧组表格道具370
17.2.2 当月最后一个星期三371
17.2.3 同组数据转为同一行372
17.2.4 相关性最强的两个变量373
17.2.5 全表最大值的位置375
17.2.6 编写年会抽奖程序376
17.2.7 北京各区无新增新冠肺炎确诊病例天数377
17.2.8 生成SQL378
17.2.9 圣诞节的星期分布379
17.2.10 试验三天中恰有两天下雨的概率381
17.2.11 计算平均打卡上班时间382
17.2.12 小结383
17.3 综合案例383
17.3.1 中国经济发展分析383
17.3.2 新冠肺炎疫情分析387
17.3.3 利用爬虫获取房价390
17.3.4 全国城市房价分析392
17.3.5 客服对话文本分析396
17.3.6 RFM用户分层399
17.3.7 自动邮件报表404
17.3.8 鸢尾花品种预测407
17.3.9 小结410
17.4 本章小结410
· · · · · ·
发表回复
要发表评论,您必须先登录。