前言 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月于江西财经大学麦庐校区