通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数。你可以将其看做简单函数(接受一个或多个变量值,并产生一个或多个标量值)的矢量化包装器。
许多ufunc都是简单的元素级变体,如sqrt和exp
arr = np.arange(10)
print arr
print np.sqrt(arr)
print np.exp(arr)
输出结果
[0 1 2 3 4 5 6 7 8 9]
[ 0. 1. 1.41421356 1.73205081 2. 2.23606798
2.44948974 2.64575131 2.82842712 3. ]
[ 1.00000000e+00 2.71828183e+00 7.38905610e+00 2.00855369e+01
5.45981500e+01 1.48413159e+02 4.03428793e+02 1.09663316e+03
2.98095799e+03 8.10308393e+03]
一元ufunc
另外一些(如add或maximum)接受2个数组(因此也叫二元(binary)ufunc),并返回一个结果数组:
x = np.random.randn(8)
y = np.random.randn(8)
print x
print y
print np.maximum(x,y)
输出结果
[-2.29265482 -1.3750343 0.47543998 1.37011995 0.56360103 0.42298899
-0.30088855 -0.06469637]
[-0.53883714 0.31821046 0.33383014 0.55363857 0.74466564 -0.42134555
0.50119039 -0.29072147]
[-0.53883714 0.31821046 0.47543998 1.37011995 0.74466564 0.42298899
0.50119039 -0.06469637]
二元ufunc