本书的设计和编写目标是培养读者的数据思维能力和数据预处理能力,内容具有典型性和实用性,全面介绍基于Python的数据预处理的流程和技术。
全书共8个单元,单元1介绍数据预处理的基础知识,单元2介绍Python数据预处理的库pandas的用法及主要数据对象的用法,单元3~单元7依次介绍数据预处理流程中数据获取、数据合并、数据清洗、数据变换和数据描述等相关知识和技术。
为突出培养读者的动手能力,本书单元2~单元7都配套了任务实践和拓展实训,除单元8,每个单元还配套了课后习题。单元8为综合案例,通过网易云音乐相关数据集展示数据预处理的完整流程,帮助读者综合掌握全书相关知识和技术。
本书适合作为高等教育本、专科院校大数据技术和人工智能技术应用等相关专业的教材,也可作为数据分析培训班和“1+X”数据处理相关职业技能等级证书的教材。
1.Python技术应用系列教材,难度适当,易学好教;
2.配套教学PPT、教学视频、源代码、教案、课后习题及答案等丰富资源。
3.本书旨在帮助读者了解数据预处理的重要性,掌握数据预处理的基本流程,掌握pandas完成数据预处理的基础知识和技术,熟悉Jupyter Lab工具的使用,并通过一个完整的项目案例带领读者掌握对数据预处理的综合运用,为下一步学习奠定基础。
汪静,中山大学计算机软件与理论专业博士,计算机软件副教授,广东省南粤优秀教师,计算机学会会员,大数据分析师(高级),人工智能算法工程师(高级)。从事高等教育教学工作16年,现任广东开放大学(广东理工职业学院)人工智能技术服务专业负责人。主持和参加各级教科研项目10多项,发表高水平论文共20多篇,拥有软件著作权2项,专利3项。研究领域包括数据分析,个性化推荐等。
目录 CONTENTS
单元1 数据预处理基础 1
1.1 数据预处理简介 1
1.1.1 数据与数据预处理 1
1.1.2 数据预处理的重要性 2
1.1.3 数据预处理的过程 2
1.2 搭建Python开发环境 3
1.2.1 Python概述 3
1.2.2 安装Anaconda 5
1.2.3 创建Python虚拟环境 9
1.2.4 认识JupyterLab 10
1.2.5 输出“Hello World!” 12
1.3 总结 13
课后习题 13
单元2 pandas入门 15
2.1 pandas概述 15
2.2 pandas的安装和导入 16
2.3 Series对象 17
2.3.1 Series对象的特点 17
2.3.2 Series对象的创建 17
2.3.3 Series对象的索引 21
2.3.4 Series对象的操作 22
任务实践2-1:小明成绩表的操作 27
2.4 DataFrame对象 30
2.4.1 DataFrame对象的特点 30
2.4.2 DataFrame对象的创建 30
2.4.3 DataFrame对象的索引 35
2.4.4 DataFrame对象的操作 37
任务实践2-2:小明宿舍所有同学成绩表的操作 51
2.5 总结 54
拓展实训:处理网上招聘数据 55
课后习题 55
单元3 数据获取 57
3.1 数据爬取 57
3.1.1 网络爬虫原理概述 57
3.1.2 简易网络爬虫示例 61
3.2 数据读写 64
3.2.1 读写XLS文件或XLSX文件 64
3.2.2 读写CSV文件 67
3.2.3 读写TXT文件 69
3.2.4 读写JSON文件 71
3.2.5 读写MySQL数据 73
任务实践3:读写商品类别文件 75
3.3 总结 76
拓展实训:读写广州市邮政编码数据 77
课后习题 77
单元4 数据合并 79
4.1 堆叠合并数据 79
4.1.1 横向堆叠合并 80
4.1.2 纵向堆叠合并 81
4.1.3 交叉堆叠合并 83
任务实践4-1:合并商品销售数据 84
4.2 主键合并数据 86
4.2.1 左连接 87
4.2.2 右连接 88
4.2.3 内连接 89
4.2.4 外连接 90
任务实践4-2:合并成绩表 91
4.3 重叠合并数据 94
任务实践4-3:修补统计数据 95
4.4 总结 96
拓展实训:合并网易云音乐爱国歌曲数据 97
课后习题 98
单元5 数据清洗 100
5.1 缺失值处理 100
5.1.1 查看缺失值 100
5.1.2 处理缺失值 101
任务实践5-1:网上招聘数据缺失值处理 105
5.2 重复值处理 106
5.2.1 查看重复值 106
5.2.2 处理重复值 108
任务实践5-2:网上招聘数据重复值处理 109
5.3 异常值处理 110
5.3.1 检测异常值 110
5.3.2 处理异常值 113
任务实践5-3:网上招聘数据异常值处理 114
5.4 格式不一致数据处理 116
5.4.1 姓名格式不一致的处理 116
5.4.2 日期格式不一致的处理 117
任务实践5-4:网上招聘数据中不一致数据的处理 119
5.5 总结 121
拓展实训:清洗超市销售数据 121
课后习题 122
单元6 数据变换 123
6.1 数据类型变换 123
6.1.1 用astype()方法进行强制类型变换 123
6.1.2 用to_numeric()方法将数据的类型变换为数值类型 126
任务实践6-1:电影数据类型变换 127
6.2 数据格式变换 129
6.2.1 设置小数位数 129
6.2.2 设置百分比 130
6.2.3 设置千位分隔符 131
任务实践6-2:销售数据格式变换 132
6.3 数据映射 133
6.3.1 用映射替换数据 134
6.3.2 用映射变换数据 136
任务实践6-3:分数变换为等级 138
6.4 总结 139
拓展实训:天气数据变换 139
课后习题 140
单元7 数据描述 142
7.1 数据的统计计算 142
7.1.1 统计数据的和 142
7.1.2 统计数据的均值 144
7.1.3 统计数据的最大值/最小值 145
7.1.4 统计数据的中位数 146
7.1.5 统计数据的众数 147
7.1.6 统计数据的方差和标准差 148
7.1.7 统计数据的分位数 149
任务实践7-1:成绩表数据的统计计算 150
7.2 数据的分组和聚合 152
7.2.1 数据的分组 152
7.2.2 数据的聚合 153
任务实践7-2:学生成绩数据的分组与聚合 155
7.3 数据的可视化 156
7.3.1 绘制折线图 158
7.3.2 绘制条形图 159
7.3.3 绘制饼图 161
任务实践7-3:学生期末考试成绩的可视化 163
7.4 总结 166
拓展实训:用户职业数据描述 166
课后习题 167
单元8 综合案例:网易云音乐数据预处理 169
8.1 数据读取 170
8.2 数据合并 171
8.3 数据清洗 172
8.4 数据变换 174
8.5 数据描述 175
8.6 总结 180