更新时间:2022-10-07 来源:黑马程序员 浏览量:
在NumPy中,提供了诸如“sin”、“cos”和“exp”等常见的数学函数,这些函数叫做通用函数(ufunc)。通用函数是一种针对ndarray中的数据执行元素级运算的函数,函数返回的是一个新的数组。通常情况下,我们将ufunc中接收一个数组参数的函数称为一元通用函数,而接收两个数组参数的则称为二元通用函数。接下来,笔者就列举一些常见的一元和二元通用函数。
1.abs、fabs:计算整数、浮点数或复数的绝对值。
2.sqrt:计算各元素的平方根。
3.square:计算各元素的平方。
4.exp:计算各元素的指数ex。
5.log、log10、log2、log1p:分别为自然对数(底数为e),底数为10的log,底数为2的log,log(1+x)。
6.sign:计算各元素的正负号:1(正数)、0(零)、-1(负数)。
7.ceil:计算各元素的ceiling值,即大于或者等于该值的最小整数。
8.floor:计算各元素的floor值,即小于等于该值的最大整数。
9.rint:将各元素四舍五入到最接近的整数。
10.modf:将数组的小数和整数部分以两个独立数组的形式返回。
11.isnan:返回一个表示“哪些值是NaN”的布尔型数组。
12.isfinite、isinf:分别返回表示“哪些元素是有穷的”或“哪些元素是无穷”的布尔型数组。
13.sin、sinh、cos、cosh、tan、tanh:普通型和双曲型三角函数。
14.arcos、arccosh、arcsin:反三角函数。
1.add:将数组中对应的元素相加。
2.subtract:从第一个数组中减去第二个数组中的元素。
3.multiply:数组元素相乘。
4.divide,flooor_divide:除法或向下整除法(舍去余数)。
5.maximum、fmax:元素级的最大值计算。
6.minimum、fmin:元素级的最小值计算。
7.mod:元素级的求模计算。
8.copysign:将第二个数组中的值的符号赋值给第一个数组中的值。
9.greater、greater_equal、less、less_equal、equal、not_equal、logical_and、logical_or、logical_xor:执行元素级的比较运算,最终产生布尔型数组,相当于运算符>、≥、<、≤、==、!=。
为了让读者更好地理解,接下来,通过一些示例代码来演示上述部分函数的用法。有关一元通用函数的示例代码如下。
arr=np.array([4, 9, 16]) # 计算数组元素的平方根 np.sqrt(arr) array([2., 3., 4.]) # 计算数组元素的绝对值 np.abs(arr) array([4, 9, 16]) # 计算数组元素的平方 np.square(arr) array([ 16, 81, 256])
有关二元通用函数的示例代码如下。
x=np.array([12, 9, 13, 15]) y=np.array([11, 10, 4, 8]) # 计算两个数组的和 np.add(x, y) array([23, 19, 17, 23]) # 计算两个数组的乘积 np.multiply(x, y) array([132, 90, 52, 120]) # 两个数组元素级最大值的比较 np.maximum(x, y) array([12, 10, 13, 15]) # 执行元素级的比较操作 In [97]: np.greater(x, y) Out[97]: array([ True, False, True, True])