numpy使用
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合 C/C++/Fortran 代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
安装
通过pip install 安装 numpy
pip install numpy
导入
import numpy as np
查看版本
ndarray
常用创建方法
1 | # 创建全是1的ndarray, 默认是float64类型 |
1 | # 全是0的ndarray |
1 | # 使用指定的元素来填充, |
1 | # 等分一个范围 |
1 | # 和python的 range一样 |
1 | # 全是整数的ndarray 左闭右开区间. |
1 | # 标准正太分布 |
1 | # 正态分布 |
1 | # 生成0到1的随机数,左闭右开 |
1 | # 和np.random.random一样 |
ndarray的属性
1 | 4个必记参数: |
ndarray的基本操作
索引
一维与列表完全一致 多维时同理
二维
1 | n = np.random.randint(0,150, size=(4,5)) |
三维
1 | n = np.random.randint(0,100, size=(4,5,3)) |
切片
一维与列表完全一致 多维时同理
1 | n = np.random.randint(0,100, size=(4,6)) |
变形
1 | n |
级联
np.concatenate()
级联需要注意的点:
- 级联的参数是列表:一定要加中括号或小括号
- 维度必须相同
- 形状相符
- 【重点】级联的方向默认是shape这个tuple的第一个值所代表的维度方向
- 可通过axis参数改变级联的方向
垂直级联
水平级联
np.hstack
与np.vstack
: 水平级联与垂直级联,处理自己,进行维度的变更
级联的基本要求: 垂直级联的时候 ,列数一定要相同, 水平级联行数一定要相同.
切分
与级联类似,三个函数完成切分工作:
- np.split
- np.vsplit
- np.hsplit
1 |
|
ndarray的聚合操作
求和np.sum
1 | import numpy as np |
最大最小值:np.max/ np.min
1 | # 同理 |