本课程主要面向非计算机专业的软件开发爱好者,不局限某个专业和学历层次,希望你已经学过一门程序设计语言,或有一些程序设计的基本概念如计算机求解问题的框架和一些如素数判断这样的基本算法,若缺少上述基础,在上课过程中需要根据课程进度补充相关知识并多多进行编程练习。
整个课程以财经数据为基础,通过构建一个个喜闻乐见的案例,让大家可以以更直观的方式领略Python的简洁、优雅和健壮,同时探讨Python除了在商业领域之外在文学、社会学和新闻等人文社科类领域以及在数学和生物等理工类领域同样拥有便捷高效的数据处理能力,并可以触类旁通将其灵活应用于各专业中。整个课程分5个学习模块和1个项目实战模块,从Python基本语法开始,到Python中如何从本地和网络上进行数据获取,如何表示数据,再到如何对数据进行预处理,探索,分析与统计及可视化,到最后如何设计一个简单的GUI界面来表示和处理数据,层层推进。
主要介绍或项目使用到的Python第三方库有:Requests,BeautifulSoup,re,NumPy,pandas,Matplotlib,sklearn,NLTK,Pillow绘图库,结巴分词,WordCloud词云图,Gensim等。
爱上Python,爱上数据分析,爱上用Python进行数据分析!
MODULE 01: Python基础之第一周 走近Python
1.1 Python简介
1.2 第一个Python程序
1.3 Python语法基础
1.4 Python数据类型
1.5 Python基本运算
1.6 Python的函数、模块和包
补充视频:Python环境搭建
第一周 走近Python单元测验
MODULE 01: Python基础之第二周 Python面面观
2.1 条件
2.2 range函数
2.3 循环
2.4 循环中的break,continue和else
2.5 自定义函数
2.6 递归
2.7 变量作用域
拓展视频1:Python常用标准库函数
拓展视频2:异常
第二周 控制结构和函数编程练习(8题)
控制结构和函数编程题
第二周 Python面面观单元测试
MODULE 02: 数据获取与表示之第三周 数据获取与表示
3.1 本地数据获取
3.2 网络数据获取
3.3 序列
3.4 字符串
3.5 列表
3.6 元组
拓展视频1:正则表达式简介
拓展视频2:输入输出&函数式编程入门
拓展视频3:可变可迭代对象修改问题解释
拓展视频4:动态网页数据爬取小例
进阶:爬虫小项目(3项)
补充资料:序列运算、操作、函数和方法简介
第三周 数据获取与表示基础编程练习(3题)
第三周 数据获取与表示单元测试
数据表示编程题
MODULE 03: 第四周 强大的数据结构和Python扩展库
4.1 为什么需要字典
4.2 字典的使用
4.3 集合
4.4 扩展库SciPy
4.5 ndarray
4.6 变长字典Series
4.7 DataFrame
第4周拓展视频1:字典和集合编程示例介绍
第4周拓展视频2:NumPy常见应用选讲
字典相关编程题
第四周 强大的数据结构和Python扩展库单元测验
MODULE 04: Python数据统计与挖掘之第五周 Python便捷数据获取与预处理
5.1 便捷数据获取
5.2 Python绘图基础
5.3 数据探索与预处理之数据清洗
5.4 数据预处理之数据变换
5.5 数据预处理之数据规约
拓展:财经数据接口TuShare研究和数据处理分析小项目
数据集获取:数据预处理常用数据集titanic数据集获取
第五周 Python基本数据统计单元测验
MODULE 04: Python数据统计与挖掘之第六周 Python数据统计挖掘与应用
6.1 数据探索之基本数据特征分析
6.2 基于pandas的数据统计与分析
6.3 聚类分析
6.4 Python的理工类应用
6.5 Python的人文社科类应用
第6周拓展视频1:基于pandas的男女电影评分差异分析
第6周拓展视频2:基于随机森林模型的红酒品质分析
第六周 Python数据统计挖掘与应用单元测验
MODULE 05: 面向对象和图形用户界面
7.1 GUI与面向对象
7.2 抽象
7.3 继承
7.4 GUI的基本框架
7.5 GUI常用组件
7.6 布局管理
7.7 其他GUI库
7.8 综合应用
财经数据GUI编程项目
面向对象编程小练习
第七周 面向对象和图形用户界面单元测验
第八周 项目实践
项目实践说明
参考项目1—线性回归分析入门之波士顿房价预测
参考项目2—新浪动态新闻标题热点挖掘
参考项目3—文档相似性比较
(新增)参考项目4—评论情感分析
(新增)参考项目5—基于Pytorch的图像识别(难)
第八周项目实践提交
第2周OJ编程题讲解视频
第2章OJ编程题讲解视频
第3周OJ编程题讲解视频
第3周OJ编程题讲解视频
第4周OJ编程题讲解视频
第4周OJ编程题讲解视频
本课程主要面向非计算机专业的软件开发爱好者,不局限某个专业和学历层次,需要学过一门程序设计语言(不一定是Python语言)或有一些程序设计的基本概念如计算机求解问题的框架和一些如素数判断这样的基本算法,缺少上述基础的同学需要在上课过程中可以根据课程自己进度补充相关知识并多多进行编程练习。
1. Python环境
Python 平台/IDE下载:
(1)最基础的方式:使用Python IDLE(从Python官网下载)
(2)最省事的方式:使用Anaconda
从官网https://www.anaconda.com/download或清华镜像站下载https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
【说明】安装Anaconda后使用其中的Spyder,也可使用Anaconda中包含的Jupyter Notebook(Anaconda装好后直接启动后可使用,可将所有代码和执行结果存放于一个ipynb文件中,且能编辑和重新执行代码,还支持Markdown等文本编辑标记语言);或安装PyCharm等其他Python IDE,相比较来说,Anaconda平台已安装的第三方库更全,需要额外安装的包非常少,但内核的稳定性不如PyCharm,可根据自身情况选择安装,较优化的做法是使用PyCharm,同时在PyCharm中将解释器设为Anaconda,充分结合两者的优势。若有一定的基础,也可使用如VSCode这样的编辑器,具体方式详见第一周文档说明和视频介绍~
2.Python参考书籍和网站
(1) Python程序设计(第2版), 张莉, 金莹等. 高等教育出版社, 2022.9
(2) Python程序设计(第2版)实验指导, 张莉, 陶烨. 高等教育出版社, 2022.9
(3) Python编程从入门到实践, [美]埃里克·马瑟斯 著, 人民邮电出版社.
(4) SciPy科学计算:https://www.scipy.org/
(5) Wes McKinney, Python for Data Analysis. 东南大学出版社. (英文影印本,中译版名为《利用Python进行数据分析》)
(6) Python标准手册和其他相关Python库官网文档
(7) Python经典学习网站/论坛如realpython(https://realpython.com/)、PythonGeeks(https://pythongeeks.org/)或论坛StackOverflow(https://stackoverflow.com/questions/)等
Q : 这门课非计算机专业的同学能听得懂吗?
A : 本课程面向的是已学习过程序设计语言或对程序已有基本概念如对数据结构,顺序、选择和循环控制结构和常用算法已有一定的理解的小伙伴,并不限于计算机专业,课程中尽量用简单的案例来让大家了解Python在相关方面的功能,只要认真听认真理解,完成作业并且多进行课后的编程实践,大部分内容是能够掌握的。
Q : 是不是只要看完课程视频就可以完全掌握课程内容了?
A : MOOC课程学习有它的特殊性,时长较短,并且每位学习者的基础有差异,所以我们提供了较多的In-video quiz和编程题/小项目的案例及参考答案,根据需要大家可以在视频学习后多加练习和理解。