目录

  • 1 Week 01
    • 1.1 课程简介
    • 1.2 成绩构成
    • 1.3 Python数据分析课程论文要求
    • 1.4 Slide
    • 1.5 Python环境及参考资料
    • 1.6 编码规范
    • 1.7 Jupyter Notebook Cheetsheet
    • 1.8 修改Jupyter Notebook默认文件夹位置
    • 1.9 Difference between conda and pip
    • 1.10 视频资源
      • 1.10.1 【学】开发环境的搭建
      • 1.10.2 【学】基本语法介绍
      • 1.10.3 【学】print函数的常规使用
      • 1.10.4 【学】简单数据类型变量的定义
      • 1.10.5 【学】运算符与表达式
      • 1.10.6 【学】数据类型间的转换
      • 1.10.7 【学】print函数的格式化显示
      • 1.10.8 【学】输入函数input的应用
    • 1.11 拓展阅读
      • 1.11.1 阿里传奇工程师多隆
      • 1.11.2 认识Python:起源与发展
    • 1.12 【讨论】其它Python编辑器
  • 2 Week 02
    • 2.1 Slide
    • 2.2 视频资源
      • 2.2.1 【学】标识符、常量和变量
      • 2.2.2 【学】基本数据类型
      • 2.2.3 【学】算术运算符和赋值运算符
      • 2.2.4 【学】关系运算符和逻辑运算符
      • 2.2.5 【学】成员运算符和同一性运算符
      • 2.2.6 【学】算法及结构化程序设计
      • 2.2.7 【学】程序基本结构
      • 2.2.8 【学】标准输入输出
      • 2.2.9 【学】格式化输出
    • 2.3 拓展阅读
      • 2.3.1 开源协议
    • 2.4 【讨论】Python遵循什么开源协议?
  • 3 Week 03
    • 3.1 Slide
    • 3.2 视频资源
      • 3.2.1 【学】if语句的使用
      • 3.2.2 【学】if...else语句的使用
      • 3.2.3 【学】if...elif语句的使用
      • 3.2.4 【学】if嵌套的应用
      • 3.2.5 【学】break语句的使用
      • 3.2.6 【学】continue语句的应用
      • 3.2.7 【学】pass语句的应用
      • 3.2.8 【学】else语句的使用
      • 3.2.9 【学】循环语句的嵌套应用
    • 3.3 拓展阅读
      • 3.3.1 知识产权
    • 3.4 【讨论】如何看待程序作业抄袭现象?
  • 4 Week 04
    • 4.1 Slide
    • 4.2 视频资源
      • 4.2.1 【学】while语句的应用
      • 4.2.2 【学】for语句的应用
      • 4.2.3 【学】range函数的使用
      • 4.2.4 【学】字符串的基本操作
      • 4.2.5 【学】字符串的读取操作
      • 4.2.6 【学】字符串的合并、修改、删除操作
      • 4.2.7 【学】字符串常见内建函数的应用
      • 4.2.8 【学】字符串的其它操作
    • 4.3 拓展阅读
      • 4.3.1 工业软件现状及发展
      • 4.3.2 Regular Expressions - ICU User Guide
    • 4.4 【讨论】国外常用软件的国产替代
  • 5 Week 05
    • 5.1 Slide
    • 5.2 视频资源
      • 5.2.1 【学】列表的创建
      • 5.2.2 【学】列表中元素的查找
      • 5.2.3 【学】列表中元素的增加
      • 5.2.4 【学】列表中元素的修改
      • 5.2.5 【学】列表中元素的删除
      • 5.2.6 【学】列表的遍历
      • 5.2.7 【学】列表的常见计算操作
      • 5.2.8 【学】列表的排序操作
      • 5.2.9 【学】列表的嵌套应用
    • 5.3 拓展阅读
      • 5.3.1 治学报国:民国时期的统计留学生
    • 5.4 【讨论】有哪些数据存储格式?
  • 6 Week 06
    • 6.1 Slide
    • 6.2 视频资源
      • 6.2.1 【学】元组的创建与遍历
      • 6.2.2 【学】元组的内建函数
      • 6.2.3 【学】字典的创建
      • 6.2.4 【学】字典的遍历
      • 6.2.5 【学】字典的增删改查
      • 6.2.6 【学】字典的常用方法
    • 6.3 拓展阅读
      • 6.3.1 统计之都
  • 7 Week 07
    • 7.1 Slide
    • 7.2 视频资源
      • 7.2.1 【学】文件概述
      • 7.2.2 【学】文件的打开与关闭
      • 7.2.3 【学】文本文件的读写
      • 7.2.4 【学】二进制文件的读写
      • 7.2.5 【学】函数概述及其应用
      • 7.2.6 【学】函数的分类
      • 7.2.7 【学】函数参数
    • 7.3 拓展阅读
      • 7.3.1 python解释器
  • 8 Week 08
    • 8.1 Slide
    • 8.2 视频资源
      • 8.2.1 【学】函数的简单传递
      • 8.2.2 【学】函数的复杂传递
      • 8.2.3 【学】函数的嵌套调用
    • 8.3 拓展阅读
      • 8.3.1 因果推断——现代统计的思想飞跃
  • 9 Week 09
    • 9.1 Slide
    • 9.2 视频资源
      • 9.2.1 【学】函数的递归调用
      • 9.2.2 【学】变量作用域
      • 9.2.3 【学】匿名函数
      • 9.2.4 【学】模块
    • 9.3 拓展阅读
      • 9.3.1 Python 国产库推荐:musicpy
    • 9.4 【讨论】还有什么具有特色功能的Python库?
  • 10 Week 10
    • 10.1 Slide
    • 10.2 Slide:Time Series
    • 10.3 视频资源
      • 10.3.1 【学】random库及其使用
      • 10.3.2 【学】time库及其使用
      • 10.3.3 【学】turtle库及其使用
    • 10.4 拓展阅读
      • 10.4.1 Object-Oriented Programming
      • 10.4.2 Python面向对象编程
  • 11 Week 11
    • 11.1 Slide
    • 11.2 Slide: Modeling Libraries
    • 11.3 视频资源:初识网络爬虫/网页数据获取
      • 11.3.1 【学】什么是大数据
      • 11.3.2 【学】认识爬虫与robots协议
      • 11.3.3 【学】认识反爬虫
      • 11.3.4 【学】大数据时代下,个人隐私如何保护?
      • 11.3.5 【学】网站robots协议含义解析
      • 11.3.6 【学】谷歌浏览器开发者模式介绍
      • 11.3.7 【学】requests库获取静态网页数据
      • 11.3.8 【学】requests库获取动态网页数据
      • 11.3.9 【学】urlLib获取网页数据
    • 11.4 拓展阅读
      • 11.4.1 网络爬虫涉及的法律问题
  • 12 Week 12
    • 12.1 Slide
    • 12.2 Slide: Web Scraping
    • 12.3 视频资源
      • 12.3.1 【学】数据爬取的合理边界在哪里?
      • 12.3.2 【学】正则表达式解析
      • 12.3.3 【学】XPath与lxml解析
      • 12.3.4 【学】Beautitul Soup解析
      • 12.3.5 【学】数据存储到文本文件中
      • 12.3.6 【学】数据存储到MySQL数据库中
      • 12.3.7 【学】数据存储到Mongo数据库中
    • 12.4 拓展阅读
      • 12.4.1 数据库安全问题
  • 13 Week 13
    • 13.1 Slide
    • 13.2 视频资源:常规动态网页数据爬取
      • 13.2.1 【学】Selenium库安装及浏览器补丁下载
      • 13.2.2 【学】Selenium快速入门
      • 13.2.3 【学】元素选取
      • 13.2.4 【知识拓展】“斗鱼”网站数据获取
    • 13.3 视频资源:综合案例
      • 13.3.1 项目需求:世界大学城空间留言板数据爬取
      • 13.3.2 项目需求:链家长沙楼盘信息爬取
      • 13.3.3 项目需求:猫眼电影网站电影信息爬取
      • 13.3.4 项目需求:斗鱼网站信息爬取
      • 13.3.5 项目展示与代码示例
  • 14 其它视频资源:Python语言程序设计(中文)
    • 14.1 概述
      • 14.1.1 程序设计语言
      • 14.1.2 Python概述
      • 14.1.3 Python运行环境
    • 14.2 选择结构程序设计
      • 14.2.1 分支结构1
      • 14.2.2 分支结构2
    • 14.3 循环结构程序设计
      • 14.3.1 循环控制语句
      • 14.3.2 循环嵌套
      • 14.3.3 累加累乘问题
    • 14.4 序列
      • 14.4.1 组合数据类型
      • 14.4.2 列表的基本操作
      • 14.4.3 列表的常用函数
      • 14.4.4 列表的应用
      • 14.4.5 元组
      • 14.4.6 字符串基本操作
      • 14.4.7 字符串常用函数
      • 14.4.8 字符串应用
    • 14.5 字典和集合
      • 14.5.1 字典
      • 14.5.2 集合
  • 15 其它视频资源:Python for beginners (English Version)
    • 15.1 Programming with Python
    • 15.2 Introducing Python
    • 15.3 Getting Started
    • 15.4 Configuring Visual Studio Code
    • 15.5 Using Print
    • 15.6 Demo - Hello World
    • 15.7 Comments
    • 15.8 Demo - Comments
    • 15.9 String Concepts
    • 15.10 Demo - Strings
    • 15.11 Formatting Strings I
    • 15.12 Formatting Strings II
    • 15.13 Numeric Data Types
    • 15.14 Numbers
    • 15.15 Date data types
    • 15.16 Dates
    • 15.17 Error Handling I
    • 15.18 Error Handling II
    • 15.19 Conditional Logic I
    • 15.20 Conditional Logic II
    • 15.21 Handling Multiple Conditions
    • 15.22 Multiple Conditions
    • 15.23 Complex Conditions I
    • 15.24 Complex Conditions II
    • 15.25 Collections I
    • 15.26 Collections II
    • 15.27 Loops I
    • 15.28 Loops II
    • 15.29 Introducing Functions
    • 15.30 Functions
    • 15.31 Parameterized Functions I
    • 15.32 Parameterized Functions II
    • 15.33 Modules and Packages
    • 15.34 Virtual Environments
    • 15.35 Virtual Environment Packages
    • 15.36 Calling An API I
    • 15.37 Calling An API II
    • 15.38 JavaScript Object Notation (JSON)
    • 15.39 JSON
    • 15.40 Managing Keys I
    • 15.41 Managing Keys II
    • 15.42 Decorators I
    • 15.43 Decorators II
    • 15.44 Next Steps
  • 16 其它视频资源:More for Python Beginners (English Version)
    • 16.1 Introducing More Python for Beginners
    • 16.2 Formatting and Linting I
    • 16.3 Formatting and Linting II
    • 16.4 Lambdas I
    • 16.5 Lambdas II
    • 16.6 Classes I
    • 16.7 Classes II
    • 16.8 Inheritance I
    • 16.9 Inheritance II
    • 16.10 Mixins (Multiple inheritance)
    • 16.11 Mixins
    • 16.12 Managing the file system I
    • 16.13 Managing the file system II
    • 16.14 Working with files I
    • 16.15 Working with files II
    • 16.16 Using with to automatically close resources I
    • 16.17 Using with to automatically close resources II
    • 16.18 Asynchronous operations I
    • 16.19 Asynchronous operations II
    • 16.20 Closing
  • 17 其它视频资源: Python for Data Science
    • 17.1 Full course
  • 18 其它视频资源: Python OOP
    • 18.1 Classes and Instances
    • 18.2 Class Variables
    • 18.3 classmethods and staticmethods
    • 18.4 Inheritance
    • 18.5 Special methods
    • 18.6 Property Decorators
课程简介

欢迎来到《Python for Data Analysis(Python数据分析)》课程,本课程为双语课程,讲述如何利用简单易学优雅的Python便捷地获取、表示、分析和展示数据。本次课程将使用《Python程序设计基础》、《Python语言程序设计》以及《Python网络爬虫技术》的部分课程视频资源作为中文在线教学资源,使用部分Youtube视频资源作为全英在线教学资源。章节1-12为每周的教学资源,章节13-18为补充视频资源。

本课程主要面向数学系学生,整个课程从Python基本语法开始,到Python中如何从本地和网络上进行数据获取,如何表示数据,再到如何对数据进行预处理,探索,分析与统计及可视化,层层推进。主要介绍的Python第三方库有:NumPy,pandas,Matplotlib。

教材及参考资料

主要教材

Python for Data Analysis 2nd. Wes McKinney. 2017.

利用Python进行数据分析(第2版). 徐敬一 译. 2018

参考资料

Python编程 从入门到实践(第2版). 埃里克·马瑟斯 著, 袁国忠 译. 2021.

Python Cookbook(第3版)中文版. David Beazley, Brian K.Jones著, 陈舸 译. 2015.