一、创建ndarray
1. 使用np.array()由python list创建
2. 使用np的常规函数创建
1) np.ones(shape, dtype=None, order='C')
2) np.zeros(shape, dtype=float, order='C')
3) np.full(shape, fill_value, dtype=None, order='C')
4) np.eye(N, M=None, k=0, dtype=float)
5) np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
6) np.arange([start, ]stop, [step, ]dtype=None)
7) np.random.randint(low, high=None, size=None, dtype='l')
8) np.random.randn(d0, d1, ..., dn)
9)np.random.normal(loc=0.0, scale=1.0, size=None)
10) np.random.random(size=None)
11) np.random.rand(d0, d1, ..., dn)
二、ndarray的属性
1. ndim:维度
2. shape:形状(各维度的长度)
3. size:总长度
4. dtype:元素类型
三、ndarray的基本操作
1. 索引
1) a[3]
2) a[3][4]
3) a[-2,-3,3]
2. 切片
1) a[::-1]
2) n[:, ::-1]
3. 变形
1) np.reshape(a,newshape,order='C')
4. 级联
1) np.concatenate(a,b,axis=None)
2) np.hstack(a,b)
3) np.vstack(a,b)
5. 拆分
1) np.split(a,indices_or_sections=None,axis=None)
2) np.vsplit(a,indices_or_sections=None,axis=None)
3) np.hsplit(a,indices_or_sections=None,axis=None)
6. 拷贝/复制/副本
1) a.copy()
7. 转置
1) a.T
2) np.transpose(a, axes=None)
四、ndarray的聚合操作
1. np.sum(a, axis=None) # 求和
2. np.max(a, axis=None) # 最大值
3. np.min(a, axis=None) # 最小值
4. np.mean(a, axis=None) # 平均值
np.average(a, axis=None)
5. np.median(a, axis=None) # 中位数
6. np.argmin(a, axis=None) # 最小数下标
7. np.argmax(a, axis=None) # 最大数下标
8. np.std(a, axis=None) # 标准差
9. np.var(a, axis=None) # 方差
10. np.power(n,幂) # 次方
11. np.argmax(a) # 根据条件查找
np.argwhere(n==np.max(a)) # 根据条件查找
五、ndarray的矩阵操作
1. 基本矩阵操作
算术运算符
1) a + 1 # 加
2) a - 1 # 减
3) a * 2 # 乘
4) a / 2 # 除
5) a // 2 # 整除
6) a % 2 # 余数
线性代数中常用矩阵操作
1) a1 @ a2 # 乘积
2) np.linalg.inv(a) # 逆矩阵
3) np.linalg.det(a) # 计算矩阵行列式
4) np.linalg.matrix_rank(a)# 矩阵的秩(满秩矩阵或奇异矩阵)
其他数学函数
1) np.abs(a) # 绝对值
2) np.sqrt(a) # 开平方
3) np.square(a) # 平方
4) np.exp(a) # 指数
5) np.log(a) # 自然对数,以e为底的对数
6) np.log(np.e) # 自然对数,以e为底的对数
7) np.log(1) # 0
8) np.log2(a) # 对数
9) np.log10(a) # 10为底的对数 常用对数
10) np.sin(a) # 正弦
11) np.cos(a) # 余弦
12) np.tan(a) # 正切
13) np.round(a) # 四舍五入
14) np.ceil(a) # 向上取整
15) np.floor(a) # 向下取整
16) np.cumsum(n) # 计算累加和
2. 广播机制
六、ndarray的排序
1. 快速排序
1) np.sort(a) # 不改变输入
2) ndarray.sort(a) # 本地处理,不占用空间,但改变输入
七、ndarray文件操作
1. 保存数组
1) np.save(a) # 保存ndarray到一个npy文件
2) np.savez(a,xarr = None,yarr = None) # 将多个array保存到一个npz文件中
2. 读取数组
1) np.load(a) # 读取npz文件
3. csv、txt文件的读写操作
1) np.savetxt(file, a, delimiter) # 储存数组到txt或csv
2) np.loadtxt(a, delimiter, dtype=None) # 读取txt或csv