【Numpy总结】第七节:Numpy常用的函数(汇总所有函数,收藏这一篇就OK啦~)

一、Numpy 的加减乘除

numpy 进行加减乘除时,可以使用运算符号,即: +,-,*,/ ,也可以使用对应的函数: add()subtract()multiply()divide() ;比较简单明了,举例如下:

a = np.arange(12).reshape(3,4)
b = np.array([1,2,3,4])
print(a+b)
print (np.add(a,b))

print(a-b)
print (np.subtract(a,b))

print(a*b)
print (np.multiply(a,b))

print(a/b)
print (np.divide(a,b))

二、Numpy 的三角函数

需要特别注意的一点是:三角函数的传入值,默认情况下是弧度制;常见三角函数,举例如下:

a = np.array([0,30,45,60,90])

sin = np.sin(a*np.pi/180)
print(sin)
print(np.arcsin(sin))

cos = np.cos(a*np.pi/180)
print(cos)
print(np.arccos(cos))

tan = np.tan(a*np.pi/180)
print(tan)
print(np.arctan(tan))

利用numpy.degrees() 可以将弧度制转化为角度制,举例如下:

a = np.array([0,30,45,60,90])
sin = np.sin(a*np.pi/180)

print(np.degrees(np.arcsin(sin)))

三、Numpy 的元素精度函数

使用 numpy.around() 函数,可以返回指定小数位数的四舍五入结果,格式如下:

numpy.around(a,decimals)

参数说明a待四舍五入的数组decimal四舍五入后的小数位数,默认值为0。 如果为负,整数将四舍五入到小数点左侧的位置

举例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.around(a,2))

print(np.around(a,-2))

使用 numpy.ceil() 函数,可以返回向上取整的结果,举例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.ceil(a))

这个时候,有聪明的小伙伴会问,那如果我想要让小数点后两位的地方进行向上取整呢?(这里叫向上取整似乎不是很科学,但是领悟精神);我们只需要简单的运算就可以,举例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.ceil(a*100)/100)

np.set_printoptions(formatter={'float':'{:.2f}'.format})

上面的输出方法中,有些小数点后的0没有被显示,所以可以使用如下方法输出:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
np.set_printoptions(formatter={'float':'{:.2f}'.format})
print(np.ceil(a*100)/100)

使用 numpy.floor() 函数,可以返回向下取整的结果,举例如下:

a = np.array([111.11111,222.33333,444.55555,666.8888,777.9999])
print(np.floor(a*100)/100)

格式: np.power(a, b) ,其中,a,b 可以是任意满足 Shape相同,或者满足广播规则的数组,a 为底数,b 为指数;

b = np.array([1,2,3,4])
print(np.power(b,2))

格式: numpy.mod(a, b) ,其中,a,b 可以是任意满足 Shape相同,或者满足广播规则的数组,最终的结果为 a/b 之后的余数,举例如下:

b = np.array([1,2,3,4])
print(np.mod(b,2))

四、Numpy 的统计运算函数

numpy 提供了非常多的统计运算函数,包含:最大值,最小值,极差,标准差,方法等等,现列举如下常用统计函数:

numpy.amin() 用于计算numpy数组中的元素沿某个指定轴的 最小值,若不指定轴,则返回整个数组中的最小值。
numpy.amax() 用于计算numpy数组中的元素沿某个指定轴的 最大值,若不指定轴,则返回整个数组中的最大值。

当轴的设置为0时,返回每个列的最小值;当轴设置为1时,返回每个行的最小值;

举例如下:

a = np.arange(9).reshape(3,3)
print(a)

print(np.amin(a))

print(np.amin(a,0))

print(np.amin(a,1))

print(np.amax(a))

print(np.amax(a,0))

print(np.amax(a,1))

使用 numpy.ptp()函数计算数组的极差,即元素最大值与最小值的差(最大值 – 最小值)。

a = np.arange(9).reshape(3,3)

print(np.ptp(a))

print(np.ptp(a,0))

print(np.ptp(a,1))

分位数是统计学中常用的统计量,其中:四分之一分位数,中位数,四分之三分位数 是箱型图中最重要的三个值; 在Numpy中,我们可以使用numpy.percentile() 来计算一个数组的分位数,格式如下:

numpy.percentile(a, q, axis)

参数解释a输入的数组q需要计算的分位数,范围为0 ~ 100;axis指定计算的轴的方向,不输入则为整个数组计算分位数

举例如下:

a = np.arange(100).reshape(10,10)
print(np.percentile(a,25))

print(np.percentile(a,25,axis=0))

print(np.percentile(a,25,axis=1))

中位数就是百分之五十分位数,使用方法也很简单,举例如下:

a = np.arange(100).reshape(10,10)
print(np.percentile(a,50))
print(np.median(a))

print(np.percentile(a,50,axis=0))
print(np.median(a,axis=0))

print(np.percentile(a,50,axis=1))
print(np.median(a,axis=1))

Numpy 中 numpy.mean() 函数返回数组中元素的算术平均值。 如果提供了轴,则沿其计算。

a = np.arange(100).reshape(10,10)
print(np.mean(a))

print(np.mean(a,axis=0))

print(np.mean(a,axis=1))

该函数与 numpy.mean()的区别为, numpy.average()可以计算加权平均数,即:可以根据权重来计算平均值;若我们不给权重参数,则 numpy.average()numpy.mean()是一样的,举例如下:

a = np.arange(9).reshape(3,3)
print(np.average(a))
print(np.mean(a))

b= np.array([1,2,3])
print(np.average(a,axis=0,weights=b))

print(np.average(a,axis=1,weights=b))

解释:数组[1,2,3,4]和相应的权重[4,3,2,1],通过将相应元素的乘积相加,并将和除以权重的和,来计算加权平均值。
加权平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1) ,和我们大学计算平均分是一样的;

标准差是统计学中最常用的统计量之一,主要用来度量一组数据的分散程度,标准差的公式为: sqrt(mean((x - x.mean())**2)),在Numpy中计算标准差非常容易,举例如下:

a = np.arange(100).reshape(10,10)
print(np.std(a))

print(np.std(a,axis=0))

print(np.std(a,axis=1))

统计中的方差是每个样本值与全体样本值平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)
换句话说,标准差是方差的平方根。

a = np.arange(100).reshape(10,10)
print(np.var(a))

print(np.var(a,axis=0))

print(np.var(a,axis=1))

五、字符串相关函数

字符串相关函数,在numpy中使用的不是很多,仅了解就好;

函数解释numpy.char.add()numpy.char.add() 函数依次对两个数组的元素进行字符串连接。numpy.char.multiply()numpy.char.multiply() 函数执行多重连接。np.char.center(str , width,fillchar)numpy.char.center() 函数用于将字符串居中,并使用指定字符在左侧和右侧进行填充。numpy.char.capitalize()将字符串的第一个字母转换为大写;numpy.char.title()函数将字符串的每个单词的第一个字母转换为大写;numpy.char.lower()对数组的每个元素转换为小写;numpy.char.upper()对数组的每个元素转换为大写;numpy.char.split()指定分隔符对字符串进行分割,并返回数组。默认情况下,分隔符为空格。numpy.char.splitlines()以换行符作为分隔符来分割字符串,并返回数组。 \n,\r,\r\n 都可用作换行符。numpy.char.strip()用于移除开头或结尾处的特定字符。numpy.char.join()通过指定分隔符来连接数组中的元素或字符串。numpy.char.replace()使用新字符串替换字符串中的所有子字符串。numpy.char.encode()对数组中的每个元素调用 str.encode 函数。 默认编码是 utf-8,可以使用标准 Python 库中的编解码器。numpy.char.decode()对编码的元素进行 str.decode() 解码。

Original: https://blog.csdn.net/weixin_47139649/article/details/126548674
Author: 这么神奇
Title: 【Numpy总结】第七节:Numpy常用的函数(汇总所有函数,收藏这一篇就OK啦~)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/757379/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球