一、NumPy简介:
NumPy是python一个包。它是一个由多为数组对象和用于处理数字的例程集合组成的库。
二、Ndarray对象
NumPy中的数组类称为ndarray,ndarray是一系列同类型数据的集合,以0下标为开始进行集合的索引。
ndarray对象用于存放同类型元素的多维数组。
ndarray中的每个元素在内存中都有相同存储大小的区域
ndarray内部由以下内容组成:
- 一个指向数据的指针
- 数据类型或者dtype,描述数组中的固定大小值的格子
三、numpy使用
数组属性
ndarray.ndim
秩,维度。。。
import nump
a = np.arange(24)
print (a.ndim)
>>> 1
ndarray.shape 数组的维度
ndarray.shape = [x,y] 改变对象的维度
ndarray.size 元素的个数
ndarray.dtype 对象中的元素的类型
ndarray.itemsize 对象中每个元素的大小,以字节为单位
np.array(list) 将list转换成ndarray对象
ndarray.mean() 求均值
ndarray.std() 求标准差
ndarray.max() 对象中的最大值
ndarray.min() 对象中的最小值
ndarray[x区间,y区间...] 切片 对于彩色图片来说最后一维度表示像素(红0绿1蓝2)
ndarray[::x,::y] 对于将区域内的数据进行缩放x倍,y倍
np.ones(shape, dtype) 生成值全为1的对象
np.zeros(shape,dtype) 生成值全为0的对象
np.full(shape,full_value,dtype) 生shape维度,值为full_value的对象
np.eye(x) 维度为x的单位矩阵
ndarray.dot(ndrray) 两个对象进行矩阵乘法
np.linspace(x, y, n) 生成n个x开始,y结束的等差矩阵
np.arange(x,y,z) 生成起始值为x结束值为y 步长为z的矩阵
np.random.randint(x,y,[n,m]) 在[x,y)区间内生成大小为[n,m]的矩阵
np.random.randn(d0,d1...dn) 生成均值为0,方差为1 的n维高斯分布矩阵
np.random.normal(loc,scale,size) 生成size个均值为loc,方差为scale的矩阵
np.random.random.(n) 随机生成在[0,1]区间内的n个数
ndarray.T/ndarray.transpose() 转置
np.concatenate() 级联
1、级联参数是列表,一定要加中(小)括号
2、维度必须相同
3、形状相符
4、级联方向默认是shape这个tuple第一个值代表的维度方向
5、可以通过axis参数改变级联方向
np.hstact()/np.vstack() 水平/垂直级联,参数必须是元组
np.split/np.vsplit/np.hsplit 切分
np.sum(axis=) 求和axis=1对列求和,axis=0对行求和
np.argmin/np.argmax 最小值的index、最大值的index
np.sort() 对本身不改变的排序
ndarray.sort() 本身改变
np.partition(n,k) 对部分n个数排序,k为正,正序;k为负,逆序