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