2 ufun函数
参考书目:python科学计算第二版 张若愚
numpy许多ufun函数都是c语言实现的
| 函数 | 功能 |
|---|---|
| np.sin(x) | 计算正弦值,返回一个保存计算结果的数组,可以计算数组 np.sin(x,out=x),计算值,直接在x中保存结果 单个数值计算、循环时math.sin()比np.sin()快很多。 np.sin()返回numpy.type型,利用a.item(元组)可以返回对应元组位置的单个数值的python的数值类型 |
| 四则运算,能被重载 | |
| 加 | np.add(x,y,…),带有参数out,无out产生新数组,有out不产生新数组 x+y |
| 减 | substract(),x-y |
| 乘 | multiply(),x*y |
| 除 | divide() x/y |
| 负数 | -y,negative() |
| 指数 | x**y,power(x,y) |
| 矩阵和向量的乘法 | A.dot§ |
| 矩阵求逆 | np.linalg.inv(A) |
| 取余运算 | x%y,remainder(x,y) |
| 比较运算和布尔运算其中函数为ufunc函数 | |
| 等于 | equal(),== |
| 不等于 | not_equal(),!= |
| 小于 | less(),< |
| 小于等于 | less_equal(),<= |
| 大于 | greater(),> |
| 大于等于 | greater_equal(),>= |
| 布尔运算,服务于数组 | |
| and | np.logical_and(x,y),x和y同时满足 |
| or | np.logical_or() |
| not | np.logical_not() |
| xor | np.logical_xor() |
| 1.两个布尔数组使用布尔运算将出现valueerror异常 | np.any(a==b)a,b中有一个成立,则返回ture np.all() |
| 自定义ufunc()函数 | |
| 单个值函数转换为数组级的运算 | frompyfunc(func,nin,nout) func是计算单个元素的函数,nin是func的输入参数的个数,nout是func的返回值的个数 fun = frompyfunc(triangle.wave,4,1) fun(x1,x2,x3,x4) |
| 广播 | |
| (3,1)+(1,3)的数组,自我复制轴的最大值然后相加 | |
| a.repeat(6,axis=0) | 沿着第0轴复制6次 |
| a[None,:]生成新行,不变,a[:,None]所有元素用于生成新列 | |
| x,y = np.ogrid[:5,:5] | 创建0-4的用于广播运算的数组 格式:开始值:结束值:步长值, 开始值:结束值:长度j |
| x,y = np.mgrid[:5,:5] | 创建返回进行广播之后的数组 |
版权声明:本文为qq_41588285原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。