numpy基础学习
numpy 优势
1.定义
开源的Python科学计算库,用于快速处理任意纬度的数组
numpy中,存储对象是ndarry
2.创建
np.array([])
3.numpy的优势
- 内存块风格 ----- 一体式存储
- ndarray支持并行化运算(向量化运算)
- 效率远高于纯Python代码 — 底层使用了C,内部释放了GIL
N维数组 – ndarry
1.ndarray属性
属性名字 属性解释
ndarray.shape 数组维度的元组
ndarray.ndim 数组维数
ndarray.size 数组中的元素数量
ndarray.itemsize 一个数组元素的长度(字节)
ndarray.dtype 数组元素的类型
2. ndarray的形状
np.array()
三维数组不好理解 – excel中有多个sheet
3.ndarry的类型
bool
int
float
str
…
注意:若不指定,整数默认Int, 小数默认float
基本操作
生成数组的方法
1.1 生成0和1的数组
np.ones()
np.ones_like()
2.从现有数组中生成
np.array – 深拷贝
np.asarray – 浅拷贝
3.生成固定范围数组
np.linspace (start, stop, num, endpoint)
num — 生成等间隔的多少个
np.arange(start,stop, step, dtype)
step — 每间隔多少生成数据
np.logspace(start,stop, num)
生成以10的N次幂的数据
生成随机数组
1.均匀分布生成
np.random.uniform()
low
high
size
2.正态分布
均值,方差
均值 — 图形的左右位置
方差 — 图像是瘦,还是胖
值越小,图形越瘦高,数据越集中
值越大,图形越矮胖,数据越分散
3.正态分布API
np.random.normal()
low
high
size
数组索引切片
直接索引,先对行进行索引,再进行列的索引
高维数组索引,从宏观到微观
形状修改
1.对象.reshape
不进行行列互换,产生新变量
2.对象.resize
进行行列互换,对原值进行更改
3.对象.T
进行行列互换
类型修改
对象.astype()
数组去重
np.unique()
ndarray运算
1.逻辑运算
大于,小于直接进行判断
赋值:满足要求,直接进行赋值
2.通用判断函数
np.all()
所有满足要求,才返回ture
np.any()
只要有一个满足要求,就返回true
3.三元运算符
np.where()
满足要求赋值给第一个值,否则赋值给第二个值
np.logical_and()
并
np.logical_or()
或
4.统计运算
min
max
midian
mean
std — 标准差
var — 方差
argmax — 最大值方差
argmin — 最小值方差