pandas是一个强大的数据处理与分析工具集!
本书梳理了pandas中常用的函数,将函数之间的逻辑关系总结为“基础知识+4类操作+4类数据”的模块结构,展示了数据处理的宏观体系,并针对数据分析中“怎么分析”“怎么处理”“怎么加速”3个核心问题给出解决方案。
※编辑推荐:
本书结合大量代码讲解理论知识,并通过“练一练”和章末的“习题”等形式提供高质量的练习,帮助读者理解、强化和拓展所学知识。
本书不需要读者掌握数据科学或数据分析的先验知识,适合具有一定Python编程基础、想要使用pandas进行数据处理与分析的数据科学领域的从业者或研究人员阅读。
※内容简介:
本书以Python中的pandas库为主线,介绍各类数据处理与分析方法。
本书共包含13章,第一部分介绍NumPy和pandas的基本内容;第二部分介绍pandas库中的4类操作,包括索引、分组、变形和连接;第三部分介绍基于pandas库的4类数据,包括缺失数据、文本数据、分类数据和时间序列数据,并介绍这4类数据的处理方法;第四部分介绍数据观测、特征工程和性能优化的相关内容。本书以丰富的练习为特色,每章的最后一节为习题,同时每章包含许多即时性的练习(练一练)。读者可通过这些练习将对数据科学的宏观认识运用到实践中。
......(更多)
耿远昊,威斯康星大学麦迪逊分校统计学硕士在读,Datawhale成员,“Joyful Pandas”开源项目作者。pandas贡献者,活跃于pandas开源社区,主要贡献涉及漏洞修复、功能实现与性能优化等方面,对pandas在数据处理与分析中的应用有丰富经验。
......(更多)
第一部分 基础知识
第1章 预备知识 2
1.1 Python基础 2
1.1.1 推导式 2
1.1.2 匿名函数 4
1.1.3 打包函数 5
1.2 NumPy基础 7
1.2.1 NumPy数组的构造 7
1.2.2 NumPy数组的变形 11
1.2.3 NumPy数组的切片 15
1.2.4 广播机制 17
1.2.5 常用函数 19
1.3 习题 24
第2章 pandas基础 26
2.1 文件的读取和写入 26
2.1.1 文件读取 26
2.1.2 数据写入 28
2.2 基本数据结构 29
2.2.1 Series 29
2.2.2 DataFrame 30
2.3 常用基本函数 32
2.3.1 汇总函数 33
2.3.2 特征统计函数 34
2.3.3 频次函数 35
2.3.4 替换函数 36
2.3.5 排序函数 39
2.3.6 apply()函数 40
2.4 窗口 42
2.4.1 滑动窗口 42
2.4.2 扩张窗口 45
2.5 习题 46
第二部分 4类操作
第3章 索引 50
3.1 单级索引 50
3.1.1 DataFrame的列索引 50
3.1.2 Series的行索引 51
3.1.3 loc索引器 52
3.1.4 iloc索引器 56
3.1.5 query()函数 57
3.1.6 索引运算 58
3.2 多级索引 59
3.2.1 多级索引及其表的结构 59
3.2.2 多级索引中的loc索引器 61
3.2.3 多级索引的构造 65
3.3 常用索引方法 66
3.3.1 索引层的交换和删除 66
3.3.2 索引属性的修改 67
3.3.3 索引的设置与重置 70
3.3.4 索引的对齐 71
3.4 习题 72
第4章 分组 74
4.1 分组模式及其对象 74
4.1.1 分组的一般模式 74
4.1.2 分组依据的本质 75
4.1.3 groupby对象 76
4.2 聚合函数 78
4.2.1 内置聚合函数 78
4.2.2 agg()函数 79
4.3 变换和过滤 80
4.3.1 变换函数 81
4.3.2 组索引与过滤 82
4.4 跨列分组 83
4.5 习题 85
第5章 变形 87
5.1 长宽表的变形 87
5.1.1 长表的透视变形 88
5.1.2 宽表的逆透视变形 91
5.2 其他变形方法 95
5.2.1 索引变形 95
5.2.2 扩张变形 98
5.3 习题 98
第6章 连接 100
6.1 关系连接 100
6.1.1 关系连接的基本概念 100
6.1.2 列连接 102
6.1.3 索引连接 104
6.2 其他连接 105
6.2.1 方向连接 105
6.2.2 比较与组合 108
6.3 习题 109
第三部分 4类数据
第7章 缺失数据 114
7.1 缺失值的统计和删除 114
7.1.1 缺失信息的统计 114
7.1.2 缺失信息的删除 115
7.2 缺失值的填充和插值 116
7.2.1 利用fillna() 进行填充 116
7.2.2 插值函数 118
7.3 Nullable类型 120
7.3.1 缺失记号及其缺陷 120
7.3.2 Nullable类型的性质 122
7.3.3 缺失数据的计算和分组 124
7.4 习题 126
第8章 文本数据 128
8.1 str对象 128
8.1.1 str对象的设计意图 128
8.1.2 []索引器 129
8.1.3 string类型 129
8.2 正则表达式基础 131
8.2.1 元字符 132
8.2.2 分组捕获与反向引用 134
8.2.3 零宽断言 135
8.3 文本处理的5类操作 136
8.3.1 拆分 136
8.3.2 合并 137
8.3.3 匹配 138
8.3.4 替换 139
8.3.5 提取 140
8.4 其他字符串方法 141
8.4.1 字母型方法 141
8.4.2 数值型方法 142
8.4.3 统计型方法 143
8.4.4 格式型方法 143
8.5 习题 145
第9章 分类数据 147
9.1 cat对象 147
9.1.1 cat对象的属性 147
9.1.2 类别的增加、删除和修改 148
9.2 有序类别 150
9.2.1 序的建立 150
9.2.2 排序和比较 150
9.3 区间类别 152
9.3.1 利用cut()和qcut()进行区间构造 152
9.3.2 一般区间的构造 153
9.3.3 区间的属性与方法 155
9.4 习题 155
第10章 时间序列数据 159
10.1 时间戳 160
10.1.1 时间戳的构造与属性 160
10.1.2 时间戳序列的生成 161
10.1.3 dt对象 164
10.1.4 时间戳序列的索引与切片 166
10.2 时间差 167
10.2.1 时间差序列的生成 168
10.2.2 时间差序列的运算 169
10.3 日期偏置 170
10.3.1 Offset对象 170
10.3.2 采样频率 173
10.4 时间序列操作 175
10.4.1 采样频率滑窗 175
10.4.2 重采样 177
10.4.3 特殊连接 181
10.5 习题 184
第四部分 进阶实战
第11章 数据观测 190
11.1 可视化方法 190
11.1.1 基本绘图 190
11.1.2 元素控制 198
11.1.3 子图绘制 203
11.2 数据观测方法 206
11.2.1 数据类型 206
11.2.2 数据统计量 207
11.2.3 数据分布 209
11.2.4 基于数据报告的观测 210
11.3 习题 212
第12章 特征工程 216
12.1 单特征构造 216
12.1.1 特征变换 216
12.1.2 文本数据特征 223
12.1.3 时间序列数据特征 226
12.1.4 单特征构造的一般方法 230
12.2 多特征构造 236
12.2.1 分组技术 236
12.2.2 特征降维 239
12.3 特征选择 242
12.3.1 基于统计量的选择 242
12.3.2 基于模型的选择 249
12.4 习题 255
第13章 性能优化 258
13.1 pandasic代码要义 258
13.2 多进程加速 261
13.2.1 多进程和多线程 261
13.2.2 多进程的陷阱 264
13.2.3 异步进程 268
13.2.4 进程中的数据共享 271
13.2.5 在pandas中使用 多进程 282
13.3 利用Cython加速 286
13.3.1 初识Cython 286
13.3.2 优化策略 288
13.3.3 多线程加速 295
13.3.4 Cython类及其应用 306
13.3.5 模块构建 311
13.4 利用Numba加速 315
13.4.1 noPython模式 315
13.4.2 ufunc与向量化 320
13.4.3 jitclass及其应用 323
13.5 习题 325 ※
......(更多)
......(更多)