前言
Python是一种跨平台的计算机程序设计语言,很好地结合了解释性、编译性、互动性和面向对象等要求,深受编程初学者、数据分析师和机器学习研究者等人群的喜爱,已成为目前*受欢迎的程序设计语言之一,2019年6月名列TIOBE全球流行编程语言排行榜第三名。
国外高校开设Python语言课程较早。例如斯坦福大学2009年就开设了Python课程,到2015年为止,一共开设了22门Python相关课程,并替换了部分专业的Java语言或C语言课程。
国内高校开设Python课程相对较晚,在2015年以前,开设Python课程的高校较少。自2018年起,越来越多的高校开始开设Python编程或Python数据分析相关课程。多数高校以高年级选修课的形式开设,受教材限制,很多课程都相当于把程序设计再学一遍,大量的时间花在语法细节和语言特征上。
2017年开始,倚动实验室在TensorFlow机器学习和网络数据抓取等项目中接触到了Python编程,边学边教,通过多种形式多次开设了Python课程。为应对新冠疫情爆发的新形势,钟元生教授领衔,带领团队攻关,梳理、归纳和总结前期在Python线上教学、视频分享中取得的经验,编写了本教材,以帮助培养Python数据分析人才。
课程教学大纲由钟元生、朱文强、高成珍、周璐喆和徐军共同商定,并对教学内容、实践案例、教学方法进行了反复探讨。在此基础上,高成珍录制了“手把手学Python”教学视频,钟元生开展了一轮线上教学实践,朱文强完成了统筹书稿和源代码的整理工作。同时,钟元生、朱文强、高成珍、徐军等人进一步完善了“Python数据分析”的视频课程内容。
本书面向有编程基础的软件开发、计算机科学等相关专业高年级本科生,以及编程基础一般但学习主动性强的经济管理类本科生及研究生,旨在帮助读者在课时较少(约32~64学时)的情况下,快速入门Python并掌握其数据分析的方法。
教材对Python编程及其数据分析方法做了科学的组织,包括Python语法基础、Python程序结构、Python常用数据结构、函数与异常处理、常见库操作、文件操作、面向对象编程、数据库操作、NumPy库、pandas库、数据可视化等内容。作为一本Python数据分析的教材,本书有以下特点。
(1) 循序渐进。从Python的基本语法、基本知识和基本应用出发,逐步深入,零基础读者也可以快速上手。第1~9章为Python语言基础,第10~14章为Python数据分析。
(2) 案例丰富。在对每个知识点进行讲解时,都配以可运行的程序示例及其运行结果。读者可以通过阅读示例代码和运行结果深刻理解所学到的知识。
(3)知识点与实践相结合。每章内容结束之后都提供了大量的课后练习供读者编程实践,以提高读者解决实际问题的能力。
(4)资源支持全面。除了教材之外,本书还提供了配套的示例代码、课后练习源代码、课件等诸多资源,读者可在清华大学出版社官网上下载。
对于部分知识点,本书还提供了进阶内容,以供感兴趣的读者作进一步的深入学习。另外,本书的示例都严格按照Python的PEP8编程规范进行编写,并融合了Python编程之禅的智慧。请读者认真理解该规范,深入领会Python编程之禅,并将其融入自己的编程习惯中。
本书由朱文强、钟元生联合主编,并负责组织设计、质量控制和统稿定稿。编写分工如下: 高成珍、朱青负责第1章,钟元生、朱青负责第2、3章,钟元生、邓付聪负责第4、5章,高成珍、邓付聪负责第6章,徐军、田远负责第7、8章,朱文强负责第9章,朱文强、田远负责第10章,周璐喆、钟元生负责第11章,李志伟、高成珍、钟元生负责第12、13章,朱文强、何文彬负责第14章。全书源代码和程序运行结果由朱文强校对。
由于教材编写时间仓促,作者水平有限,不足之处在所难免,敬请读者和同行批评指正。
*后借用布鲁斯·埃克尔(ANSI/ISO C 标准委员会发起者之一)的话结尾,“人生苦短,请用Python”。
编者2020年9月于江西财经大学麦庐校区
商品简介
主要内容包括Python语法基础、Python程序结构、Python基本数据类型、函数与异常处理、常见标准库操作、文件操作、数据库操作、Numpy库、Pandas库、数据可视化等内容。本书内容充实、材料新颖、案例丰富、条理清晰,既可作为大学教材,又可供软件从业者作为数据分析的快速入门参考书。主要内容包括Python语法基础、Python程序结构、Python基本数据类型、函数与异常处理、常见标准库操作、文件操作、数据库操作、Numpy库、Pandas库、数据可视化等内容。本书内容充实、材料新颖、案例丰富、条理清晰,既可作为大学教材,又可供软件从业者作为数据分析的快速入门参考书。
作者简介
钟元生,江西财经大学软件与通信工程学院教授、学术委员会主任,电子商务专业博士生导师,教育技术学研究生导师组组长,浙江大学博士毕业,美国加州大学尔湾分校访问学者,江西省计算机学会理事,江西省政府学位委员会学科评议组成员,江西省中青年学科带头人。曾任江西财经大学本科教学质量评建创优专家组副组长、用友软件学院教学副院长,科技部科技支撑计划项目评审专家、江西省教学成果奖评审专家,多次担任IEEE电子商务靠前学术会议程序委员。
主持或参与国家自然科学基金、全国教育科学规划教育部重点课题、江西省自然科学基金、江西省工业支撑计划项目和江西省科技型中小企业技术创新基金项目等10多项,江西省教育厅科技项目等其他省级以上项目多项。作为完成.人获江西省教学成果一等奖两项,作为第二、第三完成.人获省教学成果二、三等奖多项,获全国高校计算机基础教育很好教材二等奖一项。出版专著2部,主编移动商务、Android编程等教材多部。
江西省大学生手机软件设计赛发起人、总策划和前三届竞赛的专家委员会主任,正在联合全国百所高校举办全国大学生手机软件邀请赛。
创办倚动实验室,基于软件工厂思想,探索移动互联网领域的软件设计、服务创新和人才培养等。在软件工程、计算机科学与技术、电子商务、教育技术、MBA等专业培养了一大批研究生。
目录
基础篇
第1章Python简介与环境搭建<<<1
1.1Python简介2
1.2Python开发环境搭建3
1.2.1Python下载3
1.2.2Python安装4
1.2.3命令行式运行Python代码6
1.3个Python程序7
1.4集成开发工具9
1.5本章小结12
课后练习12
第2章语法基础<<<13
2.1输入输出函数14
2.1.1input()函数14
2.1.2print()函数14
2.2变量和注释15
2.2.1变量15
2.2.2注释18
2.3数据类型19
2.3.1整型19
2.3.2浮点型21
2.3.3布尔型22
2.3.4字符串类型23
2.4运算符26
2.4.1算术运算符26
2.4.2关系运算符27
2.4.3逻辑运算符29
2.4.4位运算符(进阶)31
2.4.5复合赋值运算符33
2.4.6成员运算符33
2.4.7身份运算符34
2.4.8运算符优先级35
2.5本章小结36
课后练习36
第3章流程控制<<<38
3.1条件结构39
3.1.1单向if语句39
3.1.2双向if-else语句40
3.1.3多分支if-elif-else语句41
3.1.4简化版if语句43
3.2循环结构44
3.2.1while循环45
3.2.2for循环45
3.2.3循环嵌套48
3.3循环控制语句49
3.3.1循环控制语句50
3.3.2循环中的else语句50
3.4综合案例52
3.5本章小结53
课后练习54
第4章常用数据结构<<<57
4.1列表58
4.1.1列表的定义、创建和删除58
4.1.2列表元素的访问59
4.1.3列表的切片操作60
4.1.4列表内容的修改操作61
4.1.5列表的常见方法62
4.1.6列表的常见操作67
4.1.7列表推导式69
4.2元组70
4.2.1元组的定义、创建和删除70
4.2.2元组和列表的联系与区别71
4.2.3生成器推导式(进阶)72
4.3字符串73
4.3.1字符串的定义和创建73
4.3.2字符串的常用方法74
4.3.3字符串应用举例76
4.3.4字符串的格式化输出78
4.4集合79
4.4.1集合的定义、创建和删除80
4.4.2集合的常见方法80
4.4.3集合运算83
4.4.4集合推导式86
4.5字典87
4.5.1字典的定义和创建87
4.5.2字典元素的访问87
4.5.3字典的常见方法88
4.5.4字典推导式91
4.5.5字典排序91
4.6本章小结93
课后练习93
第5章函数<<<95
5.1函数的定义与调用96
5.1.1函数的概念96
5.1.2定义函数97
5.1.3调用函数98
5.2参数类型与参数传递99
5.2.1形参和实参99
5.2.2位置参数100
5.2.3关键字参数100
5.2.4默认值参数101
5.2.5可变长度参数101
5.2.6序列解包参数(进阶)102
5.2.7多种类型参数混用(进阶)103
5.2.8函数参数传递106
5.3变量作用域与递归108
5.3.1变量作用域108
5.3.2函数的递归调用110
5.4特殊函数111
5.4.1匿名函数: lambda表达式111
5.4.2map()函数113
5.4.3filter()函数(进阶)114
5.5本章小结115
课后练习116
第6章异常处理<<<118
6.1错误和异常119
6.1.1错误119
6.1.2异常119
6.2异常处理机制120
6.2.1异常处理结构121
6.2.2抛出自定义异常125
6.3本章小结127
课后练习127
第7章常见库的操作<<<129
7.1模块130
7.1.1模块的导入130
7.1.2模块导入的常见问题131
7.2数学库math133
7.3随机数库random136
7.4时间库time137
7.5集合库collection(进阶)140
7.6本章小结144
课后练习144
第8章文件操作<<<146
8.1文本文件的读写147
8.2文件与文件夹的常见操作154
8.3Excel文件的读写157
8.3.1Excel文件读写模块的安装157
8.3.2Excel文件读取操作158
8.3.3Excel文件写入操作160
8.4本章小结164
课后练习164
进阶篇
第9章面向对象编程<<<166
9.1类和对象167
9.1.1类的定义167
9.1.2创建类对象168
9.2类的属性169
9.2.1实例属性169
9.2.2类属性170
9.2.3装饰器(进阶)171
9.3类的方法172
9.3.1实例方法173
9.3.2类方法173
9.3.3静态方法(进阶)174
9.3.4构造方法和初始化方法175
9.4类的继承176
9.4.1类的继承方式176
9.4.2object类176
9.4.3类方法重写177
9.4.4多重继承时的调用顺序178
9.4.5对象的复制180
9.5本章小结182
课后练习182
第10章数据库操作<<<186
10.1数据库基础187
10.1.1数据库管理系统187
10.1.2数据库类型187
10.1.3关系型数据库188
10.1.4SQLite 数据库188
10.2结构化查询语言SQL189
10.2.1数据库表的基本语句189
10.2.2数据库的进阶语句192
10.3操作数据库核心API196
10.3.1Python DB-API核心类和方法196
10.3.2Python操作数据库SQLite197
10.4数据库操作案例198
10.4.1案例一198
10.4.2案例二201
10.5本章小结203
课后练习203
第11章NumPy入门与实践<<<205
11.1NumPy简介206
11.2数组对象ndarray206
11.2.1ndarray对象的创建方法207
11.2.2ndarray对象的属性213
11.2.3ndarray对象的形状与重构214
11.3索引和切片220
11.3.1ndarray对象的索引220
11.3.2ndarray对象的切片221
11.3.3ndarray对象的索引和切片的实例225
11.3.4ndarray对象的不错索引227
11.4NumPy的通用函数230
11.4.1NumPy的数学函数230
11.4.2NumPy生成随机数233
11.4.3NumPy的统计方法235
11.4.4NumPy的其他常用方法236
11.5ndarray的数组运算239
11.5.1NumPy的广播机制239
11.5.2ndarray数组的四则运算240
11.5.3ndarray数组的集合运算242
11.5.4ndarray数组的连接与分割243
11.6本章小结247
课后练习248
第12章数据分析之pandas入门与实践<<<249
12.1Series和Index介绍250
12.1.1Series的定义和创建250
12.1.2Index对象252
12.2Series的数据访问和常用方法254
12.2.1Series的数据访问254
12.2.2Series的常用方法256
12.3DataFrame的创建与数据访问259
12.3.1DataFrame的创建259
12.3.2DataFrame的数据访问260
12.4DataFrame中的属性和方法263
12.4.1DataFrame的常用属性263
12.4.2DataFrame的常见方法264
12.5DataFrame的数据合并267
12.6pandas加载数据和缺失值处理269
12.6.1pandas加载数据269
12.6.2pandas的缺失值处理273
12.7pandas的分组操作276
12.8pandas的数据合并操作278
12.8.1merge()方法279
12.8.2contact()方法280
12.9pandas综合案例282
12.10本章小结286
课后练习287
第13章数据可视化之matplotlib<<<289
13.1pyplot绘图基础290
13.2绘制线形图294
13.2.1线形图示例297
13.2.2绘制正弦曲线、余弦曲线示例298
13.3绘制直方图299
13.4绘制条形图301
13.5绘制饼图303
13.6绘制散点图305
13.7生成词云图307
13.7.1wordcloud库307
13.7.2jieba库309
13.8本章小结311
课后练习311
第14章人工智能之scikit-learn入门与实践<<<313
14.1机器学习基础314
14.1.1机器学习概述314
14.1.2机器学习分类及其应用场景315
14.1.3机器学习常见算法316
14.1.4机器学习流程316
14.1.5常见的机器学习库316
14.2鸢尾花分类318
14.2.1案例概述318
14.2.2数据提取与预处理318
14.2.3简单数据可视化320
14.2.4K近邻算法322
14.3波士顿房价预测327
14.3.1案例概述327
14.3.2线性回归算法329
14.3.3数据分析330
14.4手写数字识别333
14.4.1案例概述333
14.4.2多层感知机算法334
14.4.3案例实现336
14.5本章小结338
课后练习338
内容摘要
本书系统讲述了Python编程及其数据分析方法,包括Python语法基础、Python程序结构、Python常用数据结构、函数与异常处理、常见库操作、文件操作、面向对象编程、数据库操作、NumPy库、pandas库、数据可视化等内容。全书循序渐进,案例丰富,知识点与实践相结合,课程支撑资源全面。
本书面向有编程基础的软件开发计算机科学等相关专业高年级本科生,以及编程基础一般但学习主动性强的经济管理类本科生及研究生,旨在帮助读者在短时间内快速入门Python并掌握其数据分析方法。
主编推荐
主要内容包括Python语法基础、Python程序结构、Python基本数据类型、函数与异常处理、常见标准库操作、文件操作、数据库操作、Numpy库、Pandas库、数据可视化等内容。本书内容充实、材料新颖、案例丰富、条理清晰,既可作为大学教材,又可供软件从业者作为数据分析的快速入门参考书。主要内容包括Python语法基础、Python程序结构、Python基本数据类型、函数与异常处理、常见标准库操作、文件操作、数据库操作、Numpy库、Pandas库、数据可视化等内容。本书内容充实、材料新颖、案例丰富、条理清晰,既可作为大学教材,又可供软件从业者作为数据分析的快速入门参考书。
【内容简介】
以下为对购买帮助不大的评价