你好,我是初学程序员,我知道必须有一个简单的方法来做到这一点,但由于某种原因找不到答案。我有两个数组,只想将每个元素除以另一个数组中的元素。例如
a= np.array([2,4,6,8,10,12])
b=np.array([2,1,2,1,2,1])
so that the result is (1,4,3,8,5,12)....
我尝试在for循环中执行此操作:
for i in range(a):
c = a[i]/b[i]
但它不起作用并给出错误 “TypeError:只有一个元素的整数数组可以转换为索引”
答案 0 :(得分:2)
你可以自己划分数组(a/b
)
In [1]: import numpy as np
In [2]: a = np.array([2,4,6,8,10,12])
In [3]: b = np.array([2,1,2,1,2,1])
In [4]: a/b
Out[4]: array([ 1, 4, 3, 8, 5, 12])
这是因为numpy重载__div__
的{{1}}方法来划分数组的元素并输出结果数组(实现主要是在C代码中,因此很难链接你到底发生了什么?)