numpy基本操作
生成数据方法
生成0和1的数组
目的: 建立一个新的0和1的数组
np.zero(shape) 生成0的数组
np.one(shape) 生成1的数组
从现有数组中生成
np.array() 和 np.copy() 深拷贝
np.asarray() 浅拷贝
浅拷贝 asarray就发生变化了
最常用的 np.array(data1) 拷贝data1
生成固定范围的数组
np.linspace(0,10,100)
生成[0,10] 范围内,生成100个等距离的数组
np.arange(a,b,c)
range(a,b,c)
[a,b) c 是步长
生成随机数组
np.random 模块
需要 import random导包
均匀分布
Uniform Distribution 均匀分布 每一种的可能性都是相等的
np.random.uniform(low, high,size)
low是最小
high 是最大
size是形状
正态分布
两个参数 一个平均值 一个方差
均值 决定 对称轴
方差 决定 图像胖瘦
方差: 幅度 波动程度 集中程度 稳定性
方差 是一个 平方值 最小值为0, 此时, 所有数据之间没差距,稳定性最好!
数组的索引 切片
案例 模拟8只股票两周的交易日涨幅数据
形状修改
ndarray.reshape() 修改数据划分,不转换行列,返回新的值
ndarray.resize() 没有返回值,但是对原始数据进行修改
ndarray.T
修改前后对比。
知识修改数据划分
ndarray.resize()
stock.T 行变成列,列变成行
类型的修改
ndarray.astype(类型) 修改数据类型
ndarray 序列化到本地
ndarray.tostring() 类型转换
使用.tostring() 转换为bits类型时候,会出现下面报错的话
创建配置文件
修改配置文件
但不建议修改,因为输出过大,容易崩溃
数组的去重
set() 去重
这里用的是 np.unique()
还可以先拍扁,再去重
flatten() + set()
ndarray的运算
逻辑运算
案例: 大于0.5设置为true
只获取满足条件的数据
将满足条件的数据重新赋值
通用判断函数
np.all(布尔值) 只要有一个false,就返回false,只有全是true才会返回true。
np.any(布尔值)
只要有一个ture就返回true,只有全是false才返回false。
案例:
判某组数据是否全是上涨
生成布尔值
将布尔值传递给np.all() 判断是否符合要求,结果为false,说明股票不是全部上涨的。
将布尔值 传递给np.any() 判断是否存在股票上涨的情况,结果返回为True。
三元运算符
np.where()
主要有三个参数,第一个:布尔值, True位置的值,False位置的值。
展开
np.logical_and()
和 np.logical_or()
np.logical_or()
统计运算
统计指标函数
返回最大值,最小值所在位置
两种调用方式:
np.函数名
ndarray.方法名
min
max
mean
std
var