- python环境搭建
- Jupyter notebook修改初始打开的文件夹路径;在jupyter打开的情况下
- cmd->jupyter notebook --generate-config->y
- c.NotebookApp.notebook_dir修改jupyter_notebook_config.py的文件夹路径
- 启动jupyter notebook出现闪退
- 修改配置文件,anaconda prompt输入jupyter notebook再启动jupyter notebook
- 修改快捷方式,属性->目标->去除%USERPROFILE%
- Anaconda Navigator打不开
- 使用管理员运行:conda prompt
- 执行命令:conda update anaconda-navigator
- 执行anaconda-navigator --reset
- 执行conda update anaconda-client
- 执行conda update -f anaconda-client
- Jupyter notebook修改初始打开的文件夹路径;在jupyter打开的情况下
- conda
- conda: 一个工具,用于包管理和环境管理,其中:包管理与pip类似,管理Python第三方库;将工具、第三方库、Python版本、conda都当作包,同等对待
- anaconda:一个集合,包括conda、某版本Python、一批第三方库等
- Spyder:python和Ipython的结合,很好的调试程序
- Ipython
- 变量?:显示通用信息和源代码
- %magic:显示所有魔术命令
- %run:运行.py程序
- 行首In[n]:n为运行次数
- Ipython
- jupyter notebook快捷键
- 命令模式:按键Esc开启
- Ctrl+Enter运行本单元
- Shift+Enter运行本单元,选中下一个单元
- Alt+Enter运行本单元,在其下方插入新的单元
- Shift+k选中上方单元
- Shift+j选中下方单元
- Shift+m合并选中的单元
- 双击D删除选中的单元
- 编辑模式:Enter键启动/双击一个单元
- Tab代码缩进/代码补全
- Shift+tab取消缩进/提示
- 命令模式:按键Esc开启
- Numpy
- NumPy是一个开源的Python科学计算基础库,包含:
- 一个强大的N维数组对象 ndarray,组成部分:
- 实际的数据
- 描述这些数据的元数据(数据维度、数据类型等)
- 广播功能函数
- 整合C/C++/Fortran代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
- NumPy是SciPy、Pandas等数据处理或科学计算库的基础
- 数组对象的必要性:
- 数组对象可以去掉元素间运算所需的循环,使一维向量更像单个数据;类似R中的矩阵计算
- 设置专门的数组对象,经过优化,可以提升这类应用的运算速度
- 数组对象采用相同的数据类型,有助于节省运算和存储空间
- 一个强大的N维数组对象 ndarray,组成部分:
- 数组:数据类型必须相同;二维数组是一维数组的组合形式,以此类推,交叉表即二维数组,表头是二维数组的一部分;多维数组是二维数组在新维度上的扩展;高维数组用字典来表示
- 创建numpy数组
- numpy.array([[],[]],dtype=);列表中嵌套列表;一个二维数组对象必须整体放在一个[]内
- numpy.array(())元祖类型创建
- numpy.array([[],()])列表和元祖混合类型创建
- numpy.arange(start,end,step)类似range,生成一维数组
- numpy.ones((row,col))生成元素为1的二维数组;row,col前面可加dim维度数
- numpy.zeros((row,col),dtype=numpy.int32)生成元素为0的二维数组
- numpy.eye(n)生成n*n的单位矩阵
- numpy.ones/zeros/full_like(a,[val])根据数组a的形状生成一个全是1/0/val的数组
- numpy.linspace(start,end,n,endpoint=T)生成包含start和end的n个等距数据的一维数组,endpoint=F则不包含end
- numpy.concatenate((a,b))将a,b连接为一个数组
- 属性
- a.ndim秩,维度数量
- a.shape行列数的元祖
- a.size元素的个数,行*列
- a.dtype元素的类型
- a.itemsize每个元素的大小,以字节为单位
- 元素类型
- bool:T/F
- int32:32位长度的整数
- uint32:32位长度的无符号整数,从0开始
- float32:1位符号位,8位指数
- complex64:实部和虚部都是32位浮点数
- *非同质的ndarray对象,即数组中的行元素数量不等,会将每行看做对象类型
- 数组变换方法
- a.reshape(shape)不改变数组元素,返回shape形状的数组,原数组不变,元素的数量不变
- a.resize(shape)类似reshape,但修改原数组且不返回新的数组,元素的数量不变
- a.swapaxes(1,0)将n维数组中的两个维度进行调换,注意只有两个参数,二维数组的维度没有指明则为0和1
- a.flatten()将数组转换为一维数组,降维,原数组不变
- a.astype(numpy.float)数组元素的数据类型转化,一定创建一个新的数组,即使两个类型一样,即原数组不变;深拷贝
- a.tolist()转化为列表,原数组不变
- 操作
- 索引a[],从0开始
- 切片a[start:end:step]不含end
- 多维数组索引a[x,y,z]索引都从0开始
- 多维数组的切片a[:,1:3,::2]每个维度的切片和一维数组切片相同
- 运算
- 标量运算
- a.mean()
- 标量运算
- 创建numpy数组
- NumPy是一个开源的Python科学计算基础库,包含: