文章目录
6.1 numpy 数组及其运算
6.1.1 创建数组
6.1.1.1 array
array(seq):将 seq 转化为数组,返回 numpy 数组
常用参数列表:
seq:list 或 tuple 或 range 对象
注:如果是多维的列表或元组,转化为相应维度的数组
6.1.1.2 arange
arange(start, stop, step):类似内置函数 range,返回 numpy 数组
常用参数列表:
start:起始数字
stop:结束数字
step:步长
6.1.1.3 linespace
linespace(start, stop, count, endpoint=True):生成等差数组
常用参数列表:
start:起始数字
stop:终止数字
count:包含的数字个数
endpoint:指定是否包含终点,False 不包含终点
6.1.1.4 logspace
linespace(start, stop, count, base=10):生成对数数组
常用参数列表:
start:起始数字
stop:终止数字
count:包含的数字个数
base:指定底数
6.1.1.5 zeros
zeros(count):生成全 0 数组
常用参数列表:
count:如果接受一个具体的值,返回包含 count 个全 0 一维的数组,如果接受一个元组,返回二维数组
6.1.1.6 ones
ones(count):生成全 1 数组
常用参数列表:
count:如果接受一个具体的值,返回包含 count 个全 1 一维的数组,如果接受一个元组,返回二维数组
6.1.1.7 identity
ones(count):返回一个 count*count 的单位数组
常用参数列表:
count:单位数组的行和列数
6.1.1.8 random.randint
random.randint(min, max, count):生成介于 min、man 之间的随机数组
min:下界
max:上界
count:如果为单个值,返回 1 * count 的随机数组;如果是元组,返回二维随机数组
6.1.1.8 random.rand
random.rand(count):生成介于 [0, 1) 之间的随机数组
count:返回 1 * count 的随机数组
6.1.1.9 random.standard_normal
random.standard_normal(count, size=(3, 4, 2)):从标准正态分布中随机挑选 count 个数字,返回一维或多维数组
count:元素个数
size:三维元组,分别代表页、行、列,该参数不能与 count 同时使用
6.1.1.10 diag
diag(list):生成对角数组,对角线元素为给定的 list,其余元素为 0
list:一维列表
6.1.2 测试两个等长数组对应元素是否足够接近
6.1.2.1 isclose、allclose
isclose:返回布尔数组
allclose:返回布尔值
常用参数列表:
rtol:指定相对误差
atol:指定绝对误差
6.1.2.2 运行结果
6.1.3 修改数组元素值
6.1.3.1 一维数组
6.1.3.1.1 append
append(array, element):将 element 追加到 array中
常用参数列表:
array:待修改数组
element
- 如果 element 为单个值,把 element 追加到 array 尾部,返回新数组
- 如果 element 为一维列表,把 element 的所有元素追加到 array 尾部,返回新数组
6.1.3.1.2 下标
通过下标修改数组不会产生新数组,而是在原来的数组中直接进行修改
6.1.3.1.3 insert
insert(array, index, element):在 array 的 index 索引处插入 element,返回新数组
常用参数列表:
array:待修改数组
index:索引
element:待插入元素
6.1.3.2 二维数组
6.1.4 数组与标量的运算
加、减、乘、除、幂、求余
6.1.5 数组与数组的运算
两个等长数组的运算
不同维度的数组进行运算,能广播进行广播,不能广播,报错
6.1.6 数组排序
6.1.6.1 argsort
argsort(array):对 array 进行排序,返回下标数组
6.1.6.2 array.argmax、argmin
array.argmax():返回最大值下标
array.argmin():返回最小值下标
6.1.6.3 array.sort
array.sort():原地排序
6.1.6.4 运行结果
6.1.7 数组的内积运算
内积运算:仅限两等长数组
6.1.7.1 dot
dot(array1, array2):numpy 提供的方法,对 array1 和 array2 求内积
6.1.7.2 array.dot
array1.dot(array2):数组对象的方法,对 array1 和 array2 求内积
6.1.7.3 不使用特定方法
sum[array1 * array2]:从原理入手,直接计算内积
6.1.7.4 运算结果
6.1.8 访问数组中的元素
切片访问
6.1.9 数组对函数运算的支持
导入模块后,可通过 dir 查看支持哪些函数
6.1.10 改变数组的形状
6.1.10.1 shape 属性
通过属性修改是直接修改原来的数组
6.1.10.2 array.reshape
不能修改元素个数,修改前,也需要提前计算好,不同的是返回新数组
6.1.10.3 array.resize
6.1.11 数组的布尔运算
6.1.12 分段函数
6.2 矩阵生成与常用操作
6.2.1 矩阵与数组的区别
- 数组可以是任意维度的(一维、二维、三维…);矩阵只能是二维的
- 数组的元素可以是数字,也可以是字符串,或者是其他类型的对象;矩阵的元素只能是数字
6.2.2 生成矩阵
6.2.2.1 matrix
该方法可以将列表、元组等类型转换为矩阵
注:使用下标访问矩阵元素需要用 x[row, cols] 这种形式访问,而不能使用 x[row][cols] 这种形式
6.2.3 矩阵转置
6.2.4 查看矩阵特征
6.2.5 矩阵乘法
通过*
运算符实现
6.2.6 计算相关系数矩阵
6.2.6.1 关于相关系数矩阵
6.2.6.2 实现方式
corrcoef(s1, s2)
计算两个数组形式的数据
(包括 python 的数组、列表、元组以及 numpy 的数组、矩阵)的相关系数
6.2.7 计算方差、协方差、标准差
6.2.8 计算特征值与特征向量
6.2.9 计算逆矩阵
6.2.10 求解线性方程组
6.2.11 计算向量和矩阵的范数
6.2.12 奇异值分解
其他文章
Python 数据分析与数据可视化(一)Python 开发环境搭建与编码规范
Python 数据分析与数据可视化(二)数据类型、运算符与内置函数
Python 数据分析与数据可视化(三)列表、元组、字典、集合与字符串
Python 数据分析与数据可视化(四)文件操作
Python 数据分析与数据可视化(五)线性代数基本知识
Python 数据分析与数据可视化(六)numpy 数组和矩阵运算
Python 数据分析与数据可视化(七)pandas数据分析实战
Python 数据分析与数据可视化(八)sklearn机器学习实战
Python 数据分析与数据可视化(工具篇)课程所需扩展库安装
Python 数据分析与数据可视化(实践篇)泰坦尼克号旅客生存预测