In [145]: a1 = np.random.randint(0, 10**6, 10**6)
In [146]: a2 = np.random.randint(0, 10**6, 10**6)
In [147]: a1.shape
Out[147]: (1000000,)
In [148]: a2.shape
Out[148]: (1000000,)
In [149]: %timeit np.array(list(zip(a1, a2)))
1 loop, best of 3: 1.78 s per loop
In [150]: %timeit np.vstack((a1, a2)).T
100 loops, best of 3: 6.4 ms per loop
In [151]: %timeit np.column_stack([a1, a2])
100 loops, best of 3: 7.62 ms per loop
In [14]: %timeit np.array([a1, a2]).T
100 loops, best of 3: 6.36 ms per loop # < - WINNER!
简单NumPy解决方案-
np.array([...]).T
:另一个NumPy解决方案,使用vstack()方法:
或使用np.column_stack():
另一个“慢”的解决方案是使用内置的zip()函数?你知道吗
说明:
定时对于两个1M单元阵列:
相关问题 更多 >
编程相关推荐