Skip to main content
 首页 » 编程设计

python之如何在python中不同的两个数组上应用不同的运算符

2025年05月04日1098°冷暖

我有两个数组,每个数组都由一对两个整数 (int1,int2) 组成。我只想计算每个数组对的第一个值的总和,我想对第二个值应用乘法(例如)。 显然,如果我写这段代码:

tab1=np.array([(1,2),(1,5),(0,6)]) 
tab2=np.array([(0,7),(1,4),(0,2)]) 
tab3=tab1+tab2 
tab4=tab1*tb2 

tab3 的结果将是 tab3=array([[1, 9],[2, 9],[0, 8]])

第二部分也应用了总和。但我想获得(1+0),(1+1),(0+0),因此: tab3=数组([1,2,0])

是否可以在不对数组进行循环的情况下得到这个结果?

请您参考如下方法:

你可以通过索引获取合适的元素:

>>> tab1 = np.array([(1,2),(1,5),(0,6)]) 
>>> tab2 = np.array([(0,7),(1,4),(0,2)]) 
>>> tab1 
array([[1, 2], 
       [1, 5], 
       [0, 6]]) 
>>> tab1[:,0] 
array([1, 1, 0]) 
>>> tab1[:,1] 
array([2, 5, 6]) 

因此

>>> tab3 = tab1[:,0] + tab2[:,0] 
>>> tab4 = tab1[:,1] * tab2[:,1] 
>>> tab3 
array([1, 2, 0]) 
>>> tab4 
array([14, 20, 12])