我试图进行几个简单的计算。我有两个数组:
A = np.array([1,2,3,4])
B = np.array([1,2])
我想计算一个数组C,其计算方法如下:
C = []
for i in A:
for j in B:
C.append(i+j)
C = np.array(C)
这样
C = array([2, 3, 3, 4, 4, 5, 5, 6])
实际上,数组非常大,而这些for循环需要相当长的时间。有没有办法对这些计算进行矢量化?
答案 0 :(得分:4)
使用广播:
boost::python::def
或In [4]: (A[:, None] + B).reshape(-1)
Out[4]: array([2, 3, 3, 4, 4, 5, 5, 6])
:
outer