numpy
numpy用于矩阵计算,内置了大量矩阵计算的函数,并且速度也比列表快
创建
import numpy as np |
通过array就把列表转化成了numpy的矩阵
- ones(shape, dtype): 这个是创建值全为1的矩阵,shape是矩阵的行和列数,dtype是矩阵数据类型。
- zeros(shape, dtype): 创建全是零的矩阵
- full(shape, constant_value, dtype): 创建指定数值的矩阵。其中constant_value是用来填充矩阵的值
- eye(N): 创建单位矩阵,N是矩阵的维度
- diag(v, k): 创建对角矩阵。v如果是一维则是创建对角矩阵,如果是二维是获取对角线上的元素。k=0表示获取主对角线上元素,k>0则获取主对角线上方第k条对角线元素
创建随机数组
- np.random.rand(shape): 创建一个值在0到1的随机数组。例如np.random.rand(10, 10, 3)是创建一个三维数组
- uniform(low, high, shape): 创建一个值在low到high的随机数组
- randint(low, high, shape): 创建一个值在low到high并且值是整数的随机数组
- normal(loc, scale, shape): 给定均值,方差,维度的正态分布。
查看矩阵属性
- size(): 获得矩阵元素个数
- shape(): 获得矩阵的行和列,shape[0]是行,shape[1]是列.但是如果是一维数组那么shape[0]表示列数,没有shape[1]
- ndim: 维数
- dtype: 元素类型
- T: 返回这个矩阵的转置
操作
- np.copy(array): 复制矩阵
- sort(a, axis): axis = 0是每行进行排序,1是每列进行排序,默认是对整个数组进行排序。a是用来排序的矩阵。如果是np.sort()那么原矩阵不改变。如果是array.sort(),原矩阵改变。
- unique(a, return_index, retrun_inverse, return_counts, axis): 查找array中唯一元素。return_index是返回新列表中元素在旧列表出现第一个位置。return_counts是每个元素在原来矩阵中数量。return_inverse是返回一个索引数组,索引的是新列表元素位置。
|
a = [1, 2, 3, 4, 5] |
- array.reshape(shape): 改变形状,但是元素个数不变,如果改变形状后元素数目和原来不同会报错。原数组改变
- array.resize(shape): 改变形状,元素个数可变,不足补零。如果小于原来数目会输出None,采取逐个填充的方法。
计算
+
: 矩阵加法,让矩阵中每个元素都相加。例如a+5是矩阵中每个元素都加五。a+b是矩阵中对应元素相加*
: 注意矩阵乘法是dot函数,这个是对应元素相乘- ==: 矩阵中逐个元素进行比对,然后返回一个bool型矩阵,如果两个矩阵对应位置相同那么bool型矩阵对应位置就是True。
- dot(): 矩阵相乘
- delete(a, elements, axis): 矩阵删除行或列。elements是删除的行或列的序号
- append()
- insert()
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment