Numpy的ufunc函数

ufunc函数是针对数组进行操作的,且都以数组作为输出。

常用的ufunc函数运算有四则运算、比较运算、逻辑运算。

ufunc函数支持全部的四则运算,其表示对数组中的各元素分别进行四则运算,所以进行四则运算的两个数组形状必须相同。

import numpy as np

#ufunc函数运算
x=np.array([1,2,3])
y=np.array([4,5,6])
print(x+y)            #四则运算。相加+、相减-、相乘*、相除/、数组幂运算**
print(x>y)            #比较运算。返回布尔型,数组的比较运算有:> < >= <= !=
print(np.all(x==y))   #逻辑运算。返回布尔型,np.all()表逻辑and,np.any()表逻辑or

#ufunc函数的广播(broadcasting)机制
#指不同形状的数组间执行算数运算的方式,当两数组shape不同,实行广播机制
a=np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])
b=np.array([1,2,3])
print(a+b) 
#[0 0 0;1 1 1;2 2 2;3 3 3]+[1 2 3;1 2 3;1 2 3;1 2 3]=[1 2 3;2 3 4;3 4 5;4 5 6]

广播机制需要遵循四个原则:

(1)让所有的输入数组向其中shape最长的数组看齐,shape中不足的部分通过在前面加1补齐

(2)输出数组的shape是输入数组的shape的各个轴上的最大值

(3)若输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为1,则这个数组能够用来计算,否则出错

(4)当输入数组的某个轴长度为1时,沿着此轴运算时使用第一轴上的第一组值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值