本课程主要面向非计算机专业的软件开发爱好者,不局限某个专业和学历层次,需要一些程序设计的基本概念如计算机求解问题的框架和一些如素数判断这样的基本算法,缺少上述基础的同学不用太担心,在上课过程中根据课程自己进度补充相关知识并多多进行编程练习即可。
整个课程以财经数据为基础,通过构建一个个喜闻乐见的案例,让大家可以以更直观的方式领略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
拓展视频1:字典和集合编程示例介绍编辑教学内容
拓展视频2:NumPy常见应用选讲
第四周 强大的数据结构和Python扩展库单元测验
字典相关编程题
MODULE 04: Python数据统计与挖掘之第五周 Python便捷数据获取与预处理
5.1 便捷数据获取
5.2 Python绘图基础
5.3 数据探索与预处理之数据清洗
5.4 数据预处理之数据变换
5.5 数据预处理之数据规约
财经数据接口TuShare研究和数据处理分析小项目
第五周 Python便捷数据获取与预处理单元测验
MODULE 04: Python数据统计与挖掘之第六周 Python数据统计挖掘与应用
6.1 数据探索
6.2 基于pandas的数据统计与分析
6.3 机器学习之KMeans聚类分析
6.4 Python的理工类应用
6.5 Python的人文社科类应用
拓展视频1:数据统计分析案例
拓展视频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—文档相似性比较
其他参考项目
第八周项目实践提交
本课程主要面向非计算机专业的软件开发爱好者,不局限某个专业和学历层次,需要一些程序设计的基本概念如计算机求解问题的框架和一些如素数判断这样的基本算法,缺少上述基础的同学不用太担心,在上课过程中可以根据课程自己进度补充一下相关知识并多多进行编程练习即可。
1. Python环境
Python 平台/IDE下载:
Anaconda官网下载地址:https://www.anaconda.com/distribution/
【说明】安装Anaconda后使用其中的Spyder,也可使用Anaconda中包含的Jupyter Notebook(Anaconda装好后直接启动后可使用,可将所有代码和执行结果存放于一个ipynb文件中,且能编辑和重新执行代码,还支持Markdown等文本编辑标记语言);或安装PyCharm等其他Python IDE,相比较来说,Anaconda平台已安装的第三方库更全,需要额外安装的包非常少,但内核的稳定性不如PyCharm,可根据自身情况选择安装,较优化的做法是使用PyCharm,同时在PyCharm中将解释器设为Anaconda,充分结合两者的优势,具体方式详见第一周文档说明和视频介绍~
2.Python参考书籍和网站
(1) Python程序设计, 张莉, 金莹等. 高等教育出版社, 2019.
(2) Python编程 从入门到实践, [美]埃里克·马瑟斯 著, 人民邮电出版社.
(3) SciPy科学计算:https://www.scipy.org/
(4) Wes McKinney, Python for Data Analysis. 东南大学出版社. (英文影印本,中译版名为《利用Python进行数据分析》)
(5) Python标准手册和其他相关Python库官网文档
注:(1)将在9月初正式出版
提问:这门课非计算机专业的同学能听得懂吗?
回答:课程中尽量用简单的案例来让大家了解Python在相关方面的功能,只要认真听认真理解,完成作业并且多进行课后的编程实践,大部分内容是能够掌握的。
提问:是不是只要看完课程视频就可以完全掌握课程内容了?
回答:MOOC课程学习有它的特殊性,时长较短,并且每位学习者的基础有差异,所以我们提供了较多的In-video quiz和编程题/小项目的案例及参考答案,根据需要大家可以在视频学习后多加练习和理解。
提问:本课程是Python 2.x还是Python 3.x?
回答:Python 3.x,当然两者的区别没那么大,少部分专业必须用Python 2.x的学习者不用担心。