你好,我是一个初级程序员,我知道一定有一个简单的方法来做到这一点,但由于某种原因找不到答案。我有两个数组,只想将每个元素除以另一个数组中的元素。例如

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代码实现的,因此很难将您链接到发生这种情况的确切位置)

08-20 04:15
查看更多