栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

1、Python量化交易-三剑客之Numpy

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1、Python量化交易-三剑客之Numpy

目录
  • 一、环境安装
    • 1 - anaconda安装
    • 2 - jupyter介绍
    • 3 - cell简介
    • 4 - cell快捷键
  • 二、numpy的三种创建方式
    • 1 - np.array创建numpy
    • 2 - plt.imread创建numpy
    • 3 - 使用np的routines函数创建
  • 三、numpy常用属性
  • 四、numpy操作
    • 1 - numpy索引操作
    • 2 - numpy切片操作
    • 3 - reshape变形
    • 4 - 级联操作
    • 5 - 聚合操作
    • 6 - 数学函数
    • 7 - 统计函数
  • 五、numpy矩阵
  • 六、jupyter笔记

一、环境安装 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
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) or 2
  • 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列,对应位置的每个值的乘积之和


六、jupyter笔记

点击下载jupyter笔记

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983915.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号