Python笔记:Numpy之通用函数
通用函数(ufunc)
通用函数是一种对ndarray中的数据执行元素级运算的函数。
一元ufunc,接受一个数组的通用函数
arr = np.arange(10)
np.abs(arr) #计算整数、浮点数或复数的绝对值。对于非复数值,可以使用更快的fabs
np.sqrt(arr) #计算各元素的平方根,相当于arr ** 0.5
np.square(arr) #计算各元素的平方,相当于arr ** 2
np.exp(arr) #计算各元素的指数
np.log(arr) #计算自然对数(底数为e),还有log10(底数为10的log)、log2(底数为2的log)、log1p(相当于log(1+x))
np.sign(arr) #计算各元素的正负号:1(正数)、0(零)、-1(负数)
np.ceil(arr) #计算各元素的ceiling值,即大于等于该值的最小整数
np.floor(arr) #计算各元素的floor值,即小于等于该值的最大整数
np.rint(arr) #将各元素四舍五入到最接近的整数,保留dtype
np.nodf(arr) #将数组的小数和整数部分以两个独立数组的形式返回
np.isnan(arr) #返回一个表示“哪些值是NaN(这不是一个数字)”的布尔型数组
np.isfinite(arr) #返回一个表示“哪些元素是有穷的(非inf,非NaN)”的布尔型数组
np.isinf(arr) #返回一个表示“哪些元素是无穷的”的布尔型数组
np.cos(arr) #三角函数,还有cosh、sin、sinh、tan、tanh等普通型和双曲型三角函数
np.arccos(arr) #反三角函数,还有arccosh、arcsin、arcsinh、arctan、arctanh等反三角函数
np.logical_not(arr) #计算各元素not x的真值。相当于-arr
二元ufunc,接受两个数组的通用函数
arr = np.arange(10)
np.abs(arr) #计算整数、浮点数或复数的绝对值。对于非复数值,可以使用更快的fabs
np.sqrt(arr) #计算各元素的平方根,相当于arr ** 0.5
np.square(arr) #计算各元素的平方,相当于arr ** 2
np.exp(arr) #计算各元素的指数
np.log(arr) #计算自然对数(底数为e),还有log10(底数为10的log)、log2(底数为2的log)、log1p(相当于log(1+x))
np.sign(arr) #计算各元素的正负号:1(正数)、0(零)、-1(负数)
np.ceil(arr) #计算各元素的ceiling值,即大于等于该值的最小整数
np.floor(arr) #计算各元素的floor值,即小于等于该值的最大整数
np.rint(arr) #将各元素四舍五入到最接近的整数,保留dtype
np.nodf(arr) #将数组的小数和整数部分以两个独立数组的形式返回
np.isnan(arr) #返回一个表示“哪些值是NaN(这不是一个数字)”的布尔型数组
np.isfinite(arr) #返回一个表示“哪些元素是有穷的(非inf,非NaN)”的布尔型数组
np.isinf(arr) #返回一个表示“哪些元素是无穷的”的布尔型数组
np.cos(arr) #三角函数,还有cosh、sin、sinh、tan、tanh等普通型和双曲型三角函数
np.arccos(arr) #反三角函数,还有arccosh、arcsin、arcsinh、arctan、arctanh等反三角函数
np.logical_not(arr) #计算各元素not x的真值。相当于-arr
np.add(arr,arr) #将数组中对应的元素相加
np.subtract(arr,arr) #从第一个数组中减去第二个数组中的元素
np.multiply(arr,arr) #数组元素相乘
np.divide(arr,arr) #除法
np.floor_divide(arr,arr) #向下圆整除法
np.power(arr,arr) #对第一个数组中的元素A,根据第二个数组中的相应元素B,计算A^B
np.maximum(arr,arr) #元素级的最大值计算。
np.fmax(arr,arr) #元素级的最大值计算,忽略NAN。
np.minimum(arr,arr) #元素级的最小值计算。
np.fmix(arr,arr) #元素级的最小值计算,忽略NAN。
np.mod(arr,arr) #元素级的求模计算(除法的余数)
np.copysign(arr,arr) #将第二个数组中的值的符号复制给第一个数组中的值。
#执行元素级的比较运算,最终产生布尔型数组。相当于运算符>、>=、<、<=、==、!=
np.greater(arr,arr)
np.greater_equal(arr,arr)
np.less(arr,arr)
np.less_equal(arr,arr)
np.equal(arr,arr)
np.not_equal(arr,arr)
#执行元素级的真值逻辑运算。相当于运算符&、|、^(与或异)
np.logical_and(arr,arr)
np.logical_or(arr,arr)
np.logical_xor(arr,arr)
通用函数可以接受out选项参数,可以指定结果输出的对象
指定结果输出的对象长度必须与参与计算的数组长度一致。
#自动生成三个长度为10的包含随机数的ndarray数组
arr1 = np.random.randint(10, size=(10)) arr2 = np.random.randint(10, size=(10)) arr3 = np.random.randint(10, size=(10)) #将结果赋值给arr1,相当于原地操作,也可以赋值给arr2 np.add(arr1, arr2 , out=arr1) #将结果赋值给arr3 np.add(arr1, arr2 , out=arr3)

浙公网安备 33010602011771号