划分数组Python

时间:2017-05-10 16:14:52

标签: python arrays python-3.x loops for-loop

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

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:只有一个元素的整数数组可以转换为索引”

1 个答案:

答案 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代码中,因此很难链接你到底发生了什么?)