【发布时间】:2016-07-21 23:08:13
【问题描述】:
如何加入两个 numpy ndarray 以快速完成以下操作,使用优化的 numpy,而无需任何循环?
>>> a = np.random.rand(2,2)
>>> a
array([[ 0.09028802, 0.2274419 ],
[ 0.35402772, 0.87834376]])
>>> b = np.random.rand(2,2)
>>> b
array([[ 0.4776325 , 0.73690098],
[ 0.69181444, 0.672248 ]])
>>> c = ???
>>> c
array([[ 0.09028802, 0.2274419, 0.4776325 , 0.73690098],
[ 0.09028802, 0.2274419, 0.69181444, 0.672248 ],
[ 0.35402772, 0.87834376, 0.4776325 , 0.73690098],
[ 0.35402772, 0.87834376, 0.69181444, 0.672248 ]])
【问题讨论】:
-
np.hstack((a[[0, 0, 1, 1]], b[[0, 1, 0, 1]])会这样做。不过,大概有人可以想出一种更通用的方法。
标签: python arrays performance numpy vectorization