数组
所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组.
操作符
True, False是布尔值,None是空值。没有floats, lists, numbers, strings的定义。不过它们分别是一种变量的类型,不过你加了s就不好说了
()括号,同时也可以表示元组
{}主要用于正则表达式
[]数组
@在函数前面做修饰符
:块的上一行结尾
,在print时表示下个字符连接打印,并加个空格
=赋值
+=在原基础上加后再赋值给原变量
;没有意义
.表示类的变量或者是包的类,子类 点操作符
*=在原基础上乘,再赋值给原变量
//=等同于/=
-=在原基础上减,再赋值给原变量
/=在原基础上除,再赋值给原变量
%=整除,再赋值给原变量
**=与自身相乘,再赋值
and, or, not都是逻辑符
if elif else是分支语句
in是数组集合
as 配合with使用
import导入库或者是包
is相当于==
assert断言
raise,finally, except与try是异常陷阱
print打印
lambda是一句话嵌入函数
break, continue, for是循环语句
exce执行,eval评估
def,return 函数定义
class 类定义
del删除变量
pass空语句
from导入包中的类或者是函数或者是变量
while条件循环语句
yield是产生iterial数组类型的一个方法
global全局变量引用修饰符
with是简化了.的使用, 比如
with A() as a, B() as b:
Arange 函数:
Sys.argv 传入命令行参数
Sys.argv【0】表示路径
Sys.argv【1】从命令行输入的所有数据 需要从命令行输入数据
Int(sys.argv【1】) 取命令行中第一个为整数的数据传入
Python代码
表示取列表的最后两个元素
Sys 系统包
Datetime 包
Datetime.now() 当前时间参数
Arange(n) 输出为数组 元素之间没有逗号
参数n是元素个数 包括零值
IPython
使用quit()或者ctrl+d退出pIython
Ipython 的基本功能
Numpy 基础
基本内容
% run参数说明
Ndarray 多维数组对象
同质的
异质的
Dtype 函数查看数据类型
Shape 函数 数组的维度
Shape的使用条件 每个列表里面的元素个数要相等
Array 为numpy 子类
维度为向量的个数 每个向量元素的个数为
在每个维度上的大小
列表元素:数组
类数组
唯一必要参数 可选参数
嵌套的列表
圆括号为函数参数输入区域或者类的基类填入区域
数组中取出某个元素
M 为列表元素下标 N为列表元素中子元素的下标
Numpy 数据类型
指定数据类型
Dtype
数据类型对象
Numpy.dtype
D.dtype.itemsize
数据类型实际上是指的里面每个元素的数据类型 问题
字符编码
数据类型有j的部分
自定义数据类型
完整的数据列表类型
SctypeDict.keys() 函数
Dtype 类的属性
T.char
T.type
Str 属性
字节序
字符编码
大端序
小端序
异构数据类型
自己创建
用array 函数创建数组时 小数默认数据类型为浮点数
一维数组的索引和切片
下标的用法
A[x:y:z] 三个参数 初始 末尾和步长
步长可以是负数
多维数组的切片和索引
Ndarray
省略号的作用
Reshape 的参数个数不固定
Reshape(X,y…N)
X*Y*….*N=元素总数
最后一维表示原子元素所包含元素的个数
N-1维度 表示以N维度为单位的行数
N-2维度 表示以N-1维为单位的个数
以此类推
从后往前推
原子个数,.行数,集合个数。。。。更大的集合个数
多维数组每个维度之间是有逗号分隔
一维数组冒号是分开起始和初始值
下标的操作
Array 后面是个范围
另一种表达方式
还有一种
再来一种
冒号的意义是 数据仍然是被划分的只是考虑所有的
划分堆 从每个堆里面去取数据
最后一行一列 可以用-1来表示
N-1 对应 最后一行或者一列
下标从零开始数
反向选取
一维数组转为多维
Ravel 函数 将多维转化为一维 展平
Flatten 与 ravel 函数相同
区别
用元组设置维度
Transpose 函数 转置
Resize 和 reshape 功能一样
数组的组合
水平组合
Hstack 函数
3x3 3x3 3x6
或者 concatenate 函数
垂直组合
Vstack concatenatel
3x3 3x3 6x3
深度组合
Dstack
层叠组合
2x3x3 3x3x2
把对应位置的元素(下标相对位置相同)组合成一个新的数组
2x3x3 3x3x2
4x2x2 2x2x4
中间数字不变 前后两个数字对调
以原来的n为来划分堆
原来的n-1维作为结果的n-1 数
以原来的第一维度来定义结果的n维
列组合
Column_stack
比较两个数组
对于二维数组 列组合和深度组合是一样的 问题
其他维度呢
都是相同的哦
列组合
Row_stack
对整个向量的操作为行组合
对单个元素的操作为列组合
数组的分割
Hsplit
水平分割: 直接划分成列向量
Split 水平分割
垂直分割
Vsplit
直接把行向量提出来
深度分割
深度方向
数组的属性
Ndim 属性 给出数组的维数
Size 属性
Itemsize
Nbytes 整个数组所占内存空间
T属性和transpose 转置
Resize 和 reshape 相同
一维数组转置为本身
复数的数组
Real 属性 给出复数数组的实部
Imag属性
数组中包含复数 数据类型自动转为复数
Flat 属性
扁平迭代器
遍历多维数组
通过flat 获取元素
Flat 属性可赋值 赋值并全部覆盖
Ndarray 总结
Tolist 数组转列表
Astype 函数 转换数组成列表 时候可以指定类型
第三章 常用函数
单位矩阵为正方形矩阵
Eye函数
Savetxt 存储文件
CSV 文件 逗号分隔值
数据库的转存文件就是CSV 文件
读入CSV 文件
Loadtxt 函数
问题
成交量加权平均价格 VWAP
算术平均值函数
Mean
时间加权平均价格 TWAP
取值范围
Len(h)为g列元素的个数
Max
Min
最大 最小值
Ptp 函数返回数组内部值最大和最小值之差