系列文章目录
提示:仅记录个人的学习心得,欢迎交流
(占位,以后再补 ……………………)
前言
对python语言基础中记忆不牢的进行总结,希望自己能坚持下去!为了学习计算机视觉做准备!
本次介绍本书第四章的内容Numpy中的函数部分。
一、通用函数:快速的逐元素数组函数
1.1 一元通用函数和二元通用函数
一元通用函数:
.abs()和.fabs():逐元素的计算整数,浮点数的绝对值
.sqrt():计算每个元素的平方根
.square():计算每个元素的平方
.exp():计算每个元素的自然指数值
.log():计算每个元素的自然对数值
.sign():计算每个元素的符号值(1表正数、0、-1表负数)
.ceil():计算每个元素的最高整数值(大于等于该数的)
.floor():计算每个元素的最小整数值(小于等于该数的)
.rint():将元素保留到整数位
.modf():分别将数组的小数部分和整数部分按数组的形式返回
.isnan():判断数组的元素是否为NaN,返回的是布尔值
.sifinite():返回数组中的元素是否有限
.cos():三角函数——余弦
.logical_not():对数组元素按位取反
二元通用函数:
.add():将对应的元素相加
.subtract():在第二个数组中,将第一个数组中的元素去除
.multiply():将数组的对应元素相乘
.divide():除
.power():将第二个数组的元素作为第一个数组对应元素的幂次方
.maximun():逐个计算元素最大值
.minimum():逐个计算元素最小值
.mod():按元素求模计算
.copysign():将第一个数组的符号值改为第二个数组的符号值
.greater():即 “ > ” ,逐个元素比较,返回布尔值数组
1.2 面向数组编程
numpy.where函数是典型的三元表达式
arr = numpy.where(a, b, c)
其中a是布尔值数组,b,c 可以不一定是数组,可以是标量。arr根据a的布尔值选择b,c中的元素
方法 | 描述 |
---|---|
sum | 计算轴向所有元素的累加和 |
mean | 数学平均, 0长度的数组平均值为NaN |
std, var | 标准差和方差 |
min, max | 最小值和最大值 |
argmin, argmax | 最小值和最大值的位置 |
cumsum | 从0开始元素的累积和 |
cumprod | 从1开始元素的累积积 |
sort(axis)方法可以对二维数组进行排序:
axis = 1 对行向量进行排序,按列轴进行
axis = 0对列向量进行排序,按行轴进行
sort方法返回的是已经排序好的数组拷贝,而不是对原数组按位置排序
unique()函数返回的是数组中唯一值排序后形成的数组(有点类似集合但是数组)
方法 | 描述 |
unique(x) | 计算x的唯一值,并排序 |
intersect1d(x, y) | 计算x和y的交集,并排序 |
union1d(x, y) | 计算x和y的并集,并排序 |
in1d(x, y) | 计算x中的元素是否包含在y中, 返回一个布尔值数组 |
setdiff1d(x, y) | 差集,在x中但不在y中的x元素 |
setxor1d(x, y) | 异或集,在x或y中,但不属于x、y交集的元素 |
1.3 利用数组进行文件的输出和输入
文件存储:numpy.save('文件名称', 数组) 文件名称没加.npy后缀时会自动补上
numpy.savez('文件名称', 数组1, 数组2) 文件后缀为.npz
savez可以在未压缩文件中保存多个数组
文件读取:numpy.load('文件名称')
1.4 线性代数
函数 | 描述 |
diag | 将一个方正的对角元素作为一维数组返回,或者将一维数组转换成一个方阵列 |
dot | 矩阵点乘 |
trace | 计算对角元素和,即矩阵的迹 |
det | 计算矩阵的行列式 |
eig | 计算方针的特征值和特征向量 |
inv | 计算方阵的逆矩阵 |
pinv | 计算矩阵的Moore-Penrose |
qr | 计算QR分解 |
svd | 计算奇异值分解 |
solve | 求解x的线性系统Ax = b,其中A是方阵 |
lstsq | 计算Ax = b 的最小二乘解 |
1.5 伪随机数生成
函数 | 描述 |
seed | 像随机数生成器传递随即状态种子 |
permutation | 返回一个序列的随机排列,或者返回一个乱序的整数范围序列 |
shuffle | 随机排列一个序列 |
rand | 从均匀分布中抽取样本 |
randint | 由给定由高到低随机抽取整数 |
randn | 从均值0方差1的正态分布中抽取样本 |
binomial | 从二项分布中抽取样本 |
normal | 从正态高斯分布中抽取样本 |
beta | 从beta分布中抽取样本 |
chisquare | 从卡方分布中抽取样本 |