2024-04-25 12:46:27 发布
网友
我正在尝试矢量化一些简单的计算。我有两个数组:
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循环需要相当长的时间。有没有办法把这些计算矢量化?你知道吗
使用广播:
In [4]: (A[:, None] + B).reshape(-1) Out[4]: array([2, 3, 3, 4, 4, 5, 5, 6])
或outer:
outer
In [7]: np.add.outer(A, B).reshape(-1) Out[7]: array([2, 3, 3, 4, 4, 5, 5, 6])
使用广播:
或
outer
:相关问题 更多 >
编程相关推荐