numpy
numpy
0、作用
使用numpy&pandas使得数据分析中计算非常快,比python自带的字典和列表快很多,因为这俩模块使用C语言编写的。应用到了矩阵的运算,使用C语言实现,更快。
1、安装
直接在终端使用命令
1 |
|
安装完成即可
2、numpy基本属性
基本属性包括:将列表转换为numpy的array,查看array的维度、形状、总元素个数
1 |
|
3、创建
创建的方法有:
- 直接传入列表
- 通过zeros()方法生成全为0的矩阵
- 通过ones()方法生成全为1的矩阵
- 通过empty()方法生成全为0的矩阵
- 通过arange()方法生成有序array
- 使用reshape指定形状,注意,元素个数可以变成指定的形状否则报错
- linspace分段
- 使用random模块,生成随机的。随机数位于0到1之间
1 |
|
4、运算
- 加法、减法、指数运算、三角函数运算、布尔值运算。都是对每个元素都进行运算
- 矩阵乘法
- 逐个元素相乘
- 使用dot方法矩阵相乘(线性代数的知识)
- 求和,求最大值最小值,都是返回一个指定的元素
- 求指定维度的和、最大最小值,需要根据axis指定维度
1 |
|
5、运算2
- 求最小最大值索引
- 求平均值,指定维度求平均值
- 求中位数
- 累加,第n个元素为原矩阵前n个元素的和
- 累差,原矩阵相邻元素之间的差值,列数减一
- 找出非0的元素,返回的值是多个表示非零元素的维度数组,数组拼接即可得到非零元素的索引值
- 排序,按照最小的维度排序,对于矩阵就是对行内的列元素排序
- 转置矩阵
1 |
|
6、索引
- 对于多维的索引,索引号都放在一个中括号中,用逗号分割开
- 切片
- for迭代,默认迭代矩阵的行
1 |
|
7、array合并
- 使用vstack实现多个array上下合并
- 使用hstack实现多个array水平合并
- 把一个横向的数列变成纵向的数列
- 使用concatenate多个array的合并指定合并的维度
1 |
|
8、分割
- 使用split均等分割
- 使用array_split不均等分割
- 使用vsplit和hsplit进行均等分割
1 |
|
9、copy和deep copy
- 通过 = 赋值的变量都指向同一个数据
- 使用copy方法使复制后两个变量不相关联
1 |
|
numpy
https://zhaoyunlai.github.io/posts/927a0c3d4668/