你好,我是一个初级程序员,我知道一定有一个简单的方法来做到这一点,但由于某种原因找不到答案。我有两个数组,只想将每个元素除以另一个数组中的元素。例如
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:只有具有一个元素的整数数组才能转换为索引”
最佳答案
您只需将数组本身分割(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__
的ndarray
方法来划分数组的元素并输出结果数组(实现大部分是用C代码实现的,因此很难将您链接到发生这种情况的确切位置)