从零开始学习python2020
- 鉴于我几年前写的python教程 利用python进行数据分析 有点硬核难啃, 故再给同学们做一个零基础的,容易上手的,python 入门讲义. — 俞熹 2020/06/02 08:37
- 本课程一方面容易上手,另一方面提供了大量的实例和练习题, 方便学生自学和实践. 适合学生居家自学,有需要的话也可以进行课程上机教学.
- 基础平台基于 anaconda 它是目前最好的集成python选择,请安装 3.7以上版本, 请大家运行 anaconda 中的 Jupyter Lab(或者 Notebook) 进行代码的示例和编程上机练习.
- 本课程主要覆盖以下几块内容(如有需要,未来还可以增补):
- Python 基础
- numpy 基础 (基础的数据结构接口)
- pandas 基础 (类似数据库基础,numpy更上一层)
- matplot 基础 (python上的科学作图)
- 科学计算工具Scipy 基础
- 统计可视化 Seaborn
- 酷炫的可视化界面PyEcharts
- 图像视频处理工具 OpenCV基础
- 新冠病毒COVID-19 数据分析特辑
- 绘制不同期刊格式图表
- 机器学习 sklearn 基础
课程资源
- https://www.numpy.org.cn/ numpy 中文官网
- http://pandas.pydata.org/pandas-docs/stable/10min.html 10m To pandas
- http://matplotlib.org/api/pyplot_summary.html matplotlib 的帮助
- 这里有一些python 推荐的书籍 http://wiki.woodpecker.org.cn/moin/PyBooks
- 本学期的突击学习课程开课啦:2023暑期python突击学习班专题
第一卷 基础环境搭建
- 在这一章,我们搭建完 后续所要用到的Jupyter Lab平台
- 基础平台基于 anaconda 它是目前最好的集成python选择,请安装 3.7以上版本, Win,IOS, Linux 平台上都可以选择 请到 这里下载
- 安装和运行 Jupyter Lab 有困难的同学可以看 这个指引: https://www.jianshu.com/p/91365f343585
- 国内有多个实验室提供免费的Jupyter Lab环境。 推荐 天池https://tianchi.aliyun.com/notebook-ai/home 具体使用教程:https://blog.csdn.net/hanx09/article/details/107705720
- python 编程IDE 推荐:pycharm 也可以采用vscode进行编程。但是我们课程主要还是在Jupyter上跑,大家可以在编程环境中调试。
- 第0课 Why python? 0-从零开始学python-为何用python.pptx
- 第1课 基础环境搭建 1-安装环境.pptx 更新了下 — 俞熹 2021/01/29 11:11
- 第1A课 免费平台使用指南: python免费平台.pptx 各大厂商都有免费的Jupyter平台,更香的是还可以免费使用GPU资源!
- 第2课 学习指南 2-学习指南.pptx 发现大家对于百度能解决问题 的方法还不清楚,写了个小小指南 — 俞熹 2021/07/28 13:40
第二卷 Python 基础
欢迎大家尝试学习python
- 这个课件基于 https://github.com/buomsoo-kim/Python-for-data-analysis buomson-kim 是原作者
- 我提供了一些介绍和解释。 其中Exercise 部分,大家尽量自己完成,我写了点我的代码,供大家参考
- 课件在这里=⇒请大家下载 python_primer.rar 解压后放到文档目录中 通过Jupyter Lab 运行 更新了下 — 俞熹 2021/01/30 13:51
- 大家可以配套 天池龙珠计划之Python学习电子书_v0.0.2.pdf 学习。
关于Jupyter notebook or Jupyter Lab.
- 这个课件建议大家安装完anaconda以后,通过命令行运行 Jupyter Lab
- 运行方法如:python C:\ProgramData\Anaconda3\Scripts\jupyter-lab-script.py
- Jupyter Lab.的界面类似于于matlab,我们可以快速在上面玩一下python。大家如果纠结的话,用pyCharm 或者vscode之类都能去跑一下的。
- 注意:在 【数字】 后面的程序框打完命令后,按ctrl+return 可以快速运行
第三卷 Numpy 基础
NumPy 是什么?
- NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括:
- 功能强大的N维数组对象。
- 精密广播功能函数。
- 集成 C/C+和Fortran 代码的工具。
- 强大的线性代数、傅立叶变换和随机数功能。
- 利器之一:Ndarray
- NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
- 利器之二:切片和索引
- ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
- 你是否已经对Numpy使用得心应手了呢? 来试一下这100道题目,看看能答对多少? 请大家下载numpy-100-master.zip 解压后放到文档目录中 通过Jupyter Lab 运行 — 俞熹 2021/06/01 10:52
第四卷 Pandas 基础
- Pandas是什么?
- Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
- 利器之一:DataFrame
- DataFrame是Pandas中的一个表格型的数据结构,包含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame即有行索引也有列索引,可以被看做是由Series组成的字典。
- 利器之一:Series
- 它是一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据也可产生简单的Series对象。
- 课件在这里⇒ pandas.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
第五卷 数据作图 Matplotlib 基础
- 我们在这一章主要学习使用 Matplotlib 作图.
- Matplotlib 是什么?
- Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
- 它类似于matlab指令, 所以叫做 mat plot lib,熟悉matlab的上手更加容易
- Matplotlib 能干啥?
- 绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、、甚至是图形动画等等。
- 课件在这里⇒matplotlib-adv.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行 新增绘制 3D 图的一章 — 俞熹 2021/02/04 20:09
第六卷 科学计算工具Scipy 基础
第一章 - SciPy-数值计算库 简介
- 1.1 常数和特殊函数
第二章 求解方程, 拟合与优化-optimize
- 2.1 线性方程组求解
- 2.2 非线性方程组求解
- 2.3 最小二乘拟合
- 2.4 计算函数局域最小值
- 2.5 计算函数全局最小值
第三章:线性代数-linalg
- 3.1 解线性方程组
- 3.2 最小二乘解
- 3.3 特征值和特征向量
- 3.4 矩阵的奇异值分解-SVD,主成分分析 PCA
第四章 统计-stats
- 4.1 连续概率分布
- 4.2 正态分布
- 4.3 离散概率分布
- 4.4 核密度估计
- 4.5 二项、泊松、伽玛分布
- 4.6 学生t-分布与t检验
- 4.7 卡方分布和卡方检验
第五章 数值积分-integrate
- 5.1 球的体积
- 5.2 解常微分方程组
- 5.3 ode类
- 5.4 PID 控制
- 5.5 优化PID的参数
第七卷 统计可视化 Seaborn
- Seaborn 就是 Matplotlib 的升级版,底层绘图逻辑和元素层级就不用再重复了。
- Seaborn 比 Matplotlib 强大的三个地方就是:
- 代码简单,基本都是一句话 (one-liner) 就可以画出变量之间统计关系图
- 能够处理分类 (categorical) 变量 (不仅仅只能处理连续变量)
- 颜色更加丰富好看 (不过这个看个人喜好)
- 课件在这里⇒seaborn.rar请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行 — updated by 俞熹 2020/06/19 10:15
第一章 - 深度了解 Seaborn
- 1.1 鸢尾花识别
- 1.2 无标签的图
- 1.3 有标签的图
- 1.4 设置色板
- 1.5 设置标记
- 1.6 子集图
- 1.7 线性回归图
- 1.8 核密度图
第二章 - 广度了解 Seaborn
- 2.1 条形图
- 2.2 计数图
- 2.3 点图
- 2.4 箱形图
- 2.5 小提琴图
- 2.6 箱形水平图
- 2.7 双变量分布图
第三章 - Seaborn 实用举例
- 3.1 barplot与countplot, catplot
- 3.2 系外行星数据
- 3.3 探索dc超级英雄数据
- 3.4 Boxplot 箱线图
- 3.5 探索Pokeman 数据I
- 3.6 Violinplot琴形图
- 3.7 pokeman数据分析II
- 3.8 回归模型 Implot
第八卷 酷炫的可视化界面PyEcharts/金融市场技术分析基础
- PyEcharts = Python + Echarts
- Echarts 是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,而 Python 就不用多说了
- 当 Python 遇到了 Echarts,就变成了 PyEcharts。
- 这是一个集成度更高的,更加酷炫的可视化界面工具库
- 这一卷由于PyEcharts的版本更新迭代较快,而且每个版本都语法较大调整,我做了两个版本都不满意, 所以暂时不放上来了. — 俞熹 2020/09/07 10:03
第九卷 强大的图像视频处理工具 OpenCV基础
- python 的 openCV函数库是一个流行的计算机视觉编程库, 整体用C++实现,用于实时处理计算机视觉方面的问题.
- 课件在这里⇒opencv.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行. — 更新了如何替换证件照背景及实际CUPT中检测旋涡边缘的内容 俞熹 2020/10/12 14:58
- 参考资料
- 学习OpenCV的建议? https://www.zhihu.com/question/26881367
第一章 openCV 图形处理入门
- 1.1 openCV 模块简介
- 1.2 基础图像处理
- 1.2.1 读入图像
- 1.2.2 图像的表示
- 1.2.3 图像文件的遍历
- 1.2.4 图像的色调、明暗、直方图、Gamma曲线
- 1.2.5 仿射变换
- 1.3 人像识别和标注
第二章 图形处理中的常见问题
- 2.1:提取图像中红色通道
- 2.2:灰度化(Grayscale)
- 2.3:二值化(Thresholding)
- 2.4:大津二值化算法(Otsu's Method)
- 2.5:平均池化(Average Pooling)
- 2.6:高斯滤波(Gaussian Filter)
- 2.7:中值滤波(Median Filter)
- 2.8:差分滤波器(Differential Filter)
- 2.9:Sobel滤波器
- 2.10:Laplacian滤波器
- 2.11:Emboss滤波器
- 2.12:LoG滤波器
- 2.13:傅立叶变换(Fourier Transform)
- 2.14:低通滤波和高通滤波
- 2.15 DFT 的性能优化
- 2.16 拉普拉斯算子是高通滤波器? 高斯滤波是低通滤波器?
第三章 实战! 搭建一个车牌识别系统
- 3.1 车牌识别的相关步骤
- 3.2 图像预处理
- 3.3 字符分割
- 3.4 字符识别
特别篇1 新冠病毒COVID-19 数据分析特辑
- 新冠病毒以前所未有的规模和猛烈程度对人类发起袭击,对人类健康的影响可能是暂时的,但它所引发的政治和经济动荡可能会持续几代人。经历过这场疫情之后,世界将再也回不到从前的模样。
- 没有任何一个国家可以纯粹依靠自己的努力战胜病毒,独善其身,各国必须在合作的基础上解决当前的问题,否则将面临最坏结果。
- 目前来看,全球的新冠病毒数据均在学术界免费共享,实时更新,用于抗击疫情。因此,我们也可以基于这些数据, 用我们前几卷学到的python技能,做一些浅显的分析和挖掘。
- 数据就在那里,如果你有更好,更多的分析思路,也可以分享出去,帮助全人类!
- 课件在这里⇒covid-19.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
第一章全球数据概况
- 1.1 全球和中国数据初步分析
- 1.2 研究后续发展中的几个国家:意大利,西班牙,英国,新加坡
- 1.3 分析全球的各国近况
第二章 使用SIR模型分析COVID-19传播规律
- 2.1 SIR模型的背景知识
- 2.2 SIR模型的数学模型
- 2.3 利用4阶龙格-库塔法求解方程.
- 2.4 用SIR模型拟合各国实际数据.
- 2.5 SEIR模型.
特别篇2 绘制不同期刊格式图表
- 如何画一幅符合发表标准的图表?
- 论文投多个期刊,每个期刊对图表格式要求不一,同一组数据要用多种工具分别绘图。
- 你是否也有以上这些痛苦? 这里介绍一个论文神器, 一行代码搞定高大上的多种期刊的论文图表发表格式!
- 课件在这里⇒ scienceplots.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
特别篇3 阶段性测试
- 这里提出30个简单的问题,看看你能否编程解决
- 这些问题往往是常见的,了解解决方法同时也会帮助你快速提高水平
- 如果你都能够在几行里面解决的话,说明你已经能够将python应用自如了!
- 课件在这里⇒pyexam.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
特别篇4 用Pandas揭秘美国选民的总统喜好
- 2020年的美国大选刚结束,结果也是一波三折,高潮跌宕起伏。 — 俞熹 2021/02/09 13:05
- 但是如果你拥有美国选民的捐赠数据,是否就可以预测“懂王”当选概率呢? 快来试试吧!
- 课件在这里⇒us_election.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
拓展内容: 机器学习 sklearn 基础
- 这章内容太多.. 感觉不是你们得学一个学期… 是我得写一个学期
- 想了想, 还是把这一卷内容 写成 从零开始学习机器学习 目前已经完成!! 大家可以访问学习! — 俞熹 2020/09/07 10:05
- Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具。它建立在 NumPy, SciPy, Pandas 和 Matplotlib 之上,里面的 API 的设计非常好,所有对象的接口简单,很适合新手上路。
- 在机器学习里面有六大任务模块:分别是分类、回归、聚类、降维、模型选择和预处理,如下图 官网的截屏。