目录
一、环境安装
1 - anaconda安装
- anaconda简介:anaconda是一个集成环境 —— 集成好了数据分析和机器学习中所需要的全部环境
- anaconda官网:www.anaconda.com
- anaconda下载:清华大学镜像-anaconda,拖到最底下,选择“Anaconda3-5.3.1-Windows-x86_64.exe”
- anaconda安装:anaconda安装目录不可以有中文和特殊符号;一路Next,勾选“Add Anaconda…”和“Register Anaconda…”
- anaconda测试安装是否成功:打开cmd窗口,录入jupyter notebook指令,如果没有显示找不到命令且没有报错即可表示安装成功
2 - jupyter介绍
- 什么是jupyter:jupyter就是anaconda提供的一个基于浏览器的可视化开发工具
- jupyter启动:启动终端,然后先定位到指定目录(在哪个目录启动,到时候jupyter的工程就在哪个目录下);在终端中录入:jupyter notebook,按下回车
- 新建python3:python3是anaconda中的源文件
- anaconda文件重名名
- 返回上一级可以看到多了一个 aaaa.ipynb的文件,ipynb指的是基于anaconda的一个文件
3 - cell简介
- 什么是cell
- cell有两种模式:code模式、markdown模式
- cell模式的切换
4 - cell快捷键
- 添加cell:a=在当前cell上方添加一个cell,b=在当前cell下方添加一个cell
- 删除cell:x
- cell模式修改:m=markdown模式,y=code模式
- cell执行:shift+enter
- tab:自动补全
- 打开帮助文档:shift+tab
二、numpy的三种创建方式
- 数据分析三剑客
- numpy
- pandas(重点)
- matplotlib
- 什么是numpy:NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。重在于数值计算,也是大部分Python科学计算库的基础,多用于在大型、多维数组上执行的数值运算
1 - np.array创建numpy
-
np.array()创建numpy
- param1:object —— 数据源
- param2:dttype —— 数组元素的类型,默认值初始数据源传入的类型是什么就是什么
-
数组和列表的区别是什么
- 数组中存储的数据元素类型必须是统一类型
- 未指定dttype时,根据元素类型优先级来确定数组元素类型 —— 字符串 > 浮点型 > 整数
2 - plt.imread创建numpy
- 将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值,查看对原始图片的影响
- 这里如果报错,需要安装pillow,cmd执行:
pip install pillow
- 这里如果报错,需要安装pillow,cmd执行:
3 - 使用np的routines函数创建
- np的routines函数
- zero():填充0的数组
- ones():填充1的数组
- linespace()
- arange()
- random系列
- np.ones
- param1:shape —— 数组的维度 —— Shape of the new array, e.g.,
(2, 3)
or2
- param1:shape —— 数组的维度 —— Shape of the new array, e.g.,
- np.linspace:创建一维的等差数列数组
- np.arange:创建一维等差数列
- np.random.randint:创建随机数组
三、numpy常用属性
- 属性
- shape:返回数组形状
- ndim:返回数组维度
- size:返回数组元素个数
- dtype:数组元素类型
- type(arr):数组的数据类型
四、numpy操作
1 - numpy索引操作
- numpy索引操作和列表同理
2 - numpy切片操作
- 切片:行列切片
- 切出前两行数据
- 切出前两列数据
- 切出前两行的前两列的数据
- 切片:数组数据翻转(倒置)
- 原始图片
- 练习:将一张图片上下左右进行翻转操作
- 练习:将图片进行指定区域的裁剪
3 - reshape变形
4 - 级联操作
- 什么是级联操作:将多个numpy数组(维度必须相同)进行横向或者纵向的拼接
- axis轴向的理解:0 —— 列;1 —— 行
5 - 聚合操作
- 常用聚合操作:没有axis参数 —— 求所有;axis=0 —— 按列;axis=1 —— 按行
- sum:求和
- max:最大值
- min:最小值
- mean:平均值
6 - 数学函数
- numpy标准三角函数:sin()、cos()、tan()
- numpy.around(a, decimals):函数返回指定数字的四舍五入值
- 参数a:数组
- 参数decimals:舍入的小数位数;默认值为0;如果为负,整数将四舍五入到小数点左侧的位置
7 - 统计函数
- 常用统计函数
- numpy.amin() 和 numpy.amax(),用于计算数组中的元素沿指定轴的最小、最大值
- numpy.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)
- numpy.median() 函数用于计算数组 a 中元素的中位数(中值)
- 标准差std():标准差是一组数据平均值分散程度的一种度量。
- 公式:std = sqrt(mean((x - x.mean())**2))
- 如果数组是 [1,2,3,4],则其平均值为 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且其平均值的平方根除以 4,即 sqrt(5/4) ,结果为 1.1180339887498949。
- 方差var():统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。换句话说,标准差是方差的平方根
五、numpy矩阵
- 线性代数基于矩阵的推导:https://www.cnblogs.com/alantu2018/p/8528299.html
- numpy矩阵
- NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象。一个 的矩阵是一个由行(row)列(column)元素排列成的矩形阵列
- numpy.matlib.identity() 函数返回给定大小的单位矩阵。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1,除此以外全都为 0
- numpy矩阵相乘:numpy.dot(a, b, out=None)
- a:ndarray数组
- b:ndarray数组
- 矩阵的加法、减法、乘法
- 矩阵相乘:第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘积相加( 2 x 1 + 1 x 1),得到结果矩阵左上角的那个值3。也就是说,结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和