Numpy学习笔记(三)-----广播,数学函数,字符串函数

一.Numpy广播

当两个数组进行运算时,由于维度不同,触发了广播机制。
广播的规则:

规则 1:如果两个数组的维度数不相同,那么小维度数组的形状将会在最左边补 1。
规则 2:如果两个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为 1 的维度扩展以匹配另外一个数组的形状。
规则 3:如果两个数组的形状在任何一个维度上都不匹配并且没有任何一个维度等于 1,那么会引发异常。

二.位运算

Numpy学习笔记(三)-----广播,数学函数,字符串函数_第1张图片
invert函数:先按位取反,然后计算补码,然后再转换成十进制数

三.字符串函数

Numpy学习笔记(三)-----广播,数学函数,字符串函数_第2张图片
部分实例:

np.char.add(['hello','hi'],['Imy','David'])# 得到['hello Imy''hi David']
np.char.multiply(['1','2','3'],3)#得到['111' '222' '333']
np.char.center(a,width,fillchar)#将数组元素固定长度,空白用fillchar填充
np.char.split(a,sep='')#以分隔符对数组中的元素进行分割
np.char.join([':','-'],['aaa','bbb'])#分别用: -来连接后面的元素
np.char.replace ('i like yoou', 'oo', 'cc')#用cc代替oo

四.数学函数

1.三角函数

2.舍入函数

np.around(a,decimals) #decimals: 舍入的小数位数。 默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置
np.floor(a) #返回小于或者等于指定表达式的最大整数,即向下取整。
np.ceil()# 返回大于或者等于指定表达式的最小整数,即向上取整。

需要注意的是数组必须具有相同的形状或符合数组广播规则。

3.算术函数

#加减乘除
np.add()
np.subtract()
np.multiply() 
np.divide()

#求参数逐个元素的倒数。
np.reciprocal(a)   
#求幂
np.power(a,b)  #以a为底,b对应位置为指数
#求余
np.mod(a,b)#计算输入数组中相应元素的相除后的余数

2.统计函数

# 计算数组中的元素沿指定轴的最小值和最大值。
np.amin(a,axis) 
np.amax(a,axis)

# 返回数组中最大值和最小值
np.max()
np.min()

#将两个数组对应位置的元素进行比较,返回较大的值或较小的值
np.maximum(a,b) 
np.minimum(a,b) 

#返回最大值最小值的扁平化索引
np.argmax(a) | a.argmax
np.argmin(a) | a.argmin

# 计算数组中元素最大值与最小值的差(最大值 - 最小值)。
np.ptp(a,axis)

#百分位数是统计中使用的度量,表示小于这个值的观察值的百分比。 函数
np.percentile(a,q,axis,keepdims=True))#q为百分比,如50表示50%,keepdims为True表示维度不变

#求中位数
np.median(a,axis) 

#求算数平均
np.mean(a,axis)

#求加权平均
np.average(a,weights,axis)#weights可用数组来指定

#标准差:std=sqrt(mean((x-x.mean())**2))
np.std(a)

#方差
np.var(a)

关于方差和标准差:
总体方差和总体标准差:… / n
样本方差和样板标准差:… / (n-1)
总体方差更加理想化,样本方差则更加贴合实际。方差是所有自由变化的量的统计值,然而如果当有一个值为平均值时 ,这个值便会和其他值之间有联系,不算自由变量 。

3.卷积

c= a (*) b

np.convolve(a,b,'full'/'same'/'valid')#full代表全卷积,same代表和a相同的同维卷积,长度和a相同,valid代表a不需要补0的卷积

你可能感兴趣的:(Numpy,学习笔记)