《pandas数据处理与分析》是由人民邮电出版社出版的一本关于pandas方面的书籍,作者是耿远昊,主要介绍了关于pandas、数据处理、数据分析方面的知识内容,目前在pandas类书籍综合评分为:8.8分。
书籍介绍
内容简介
本书以Python中的pandas库为主线,介绍各类数据处理与分析方法。
本书共包含13章,第一部分介绍NumPy和pandas的基本内容;第二部分介绍pandas库中的4类操作,包括索引、分组、变形和连接;第三部分介绍基于pandas库的4类数据,包括缺失数据、文本数据、分类数据和时间序列数据,并介绍这4类数据的处理方法;第四部分介绍数据观测、特征工程和性能优化的相关内容。本书以丰富的练习为特色,每章的最后一节为习题,同时每章包含许多即时性的练习(练一练)。读者可通过这些练习将对数据科学的宏观认识运用到实践中。
目录
- 第 一部分基础知识
- 第1章 预备知识2
- 1.1Python基础2
- 1.1.1推导式2
- 1.1.2匿名函数4
- 1.1.3打包函数5
- 1.2NumPy基础7
- 1.2.1NumPy数组的构造7
- 1.2.2NumPy数组的变形11
- 1.2.3NumPy数组的切片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.1Series29
- 2.2.2DataFrame30
- 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.6apply()函数40
- 2.4窗口42
- 2.4.1滑动窗口42
- 2.4.2扩张窗口45
- 2.5习题46
- 第二部分4类操作
- 第3章索引50
- 3.1单级索引50
- 3.1.1DataFrame的列索引50
- 3.1.2Series的行索引51
- 3.1.3loc索引器52
- 3.1.4iloc索引器56
- 3.1.5query()函数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.3groupby对象76
- 4.2聚合函数78
- 4.2.1内置聚合函数78
- 4.2.2agg()函数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.3Nullable类型120
- 7.3.1缺失记号及其缺陷120
- 7.3.2Nullable类型的性质122
- 7.3.3缺失数据的计算和分组124
- 7.4习题126
- 第8章文本数据128
- 8.1str对象128
- 8.1.1str对象的设计意图128
- 8.1.2[]索引器129
- 8.1.3string类型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.1cat对象147
- 9.1.1cat对象的属性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.3dt对象164
- 10.1.4时间戳序列的索引与切片166
- 10.2时间差167
- 10.2.1时间差序列的生成168
- 10.2.2时间差序列的运算169
- 10.3日期偏置170
- 10.3.1Offset对象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.1pandasic代码要义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初识Cython286
- 13.3.2优化策略288
- 13.3.3多线程加速295
- 13.3.4Cython类及其应用306
- 13.3.5模块构建311
- 13.4利用Numba加速315
- 13.4.1noPython模式315
- 13.4.2ufunc与向量化320
- 13.4.3jitclass及其应用323
- 13.5习题325