如何在python中按元素组合两个numpy数组?

2024-05-03 14:17:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个numpy数组:

A = np.array([1, 3, 5, 7])
B = np.array([2, 4, 6, 8])

我想把这两者结合起来得到以下结果:

C = [1, 2, 3, 4, 5, 6, 7, 8]

我可以通过使用zip来接近目标,但不完全是我想要的:

>>> zip(A, B)
[(1, 2), (3, 4), (5, 6), (7, 8)]

如何将这两个numpy数组元素组合起来?


我对每个数组中的50000个元素(100000个组合元素)进行了快速测试。结果如下:

User Ma3x:      Time of execution: 0.0343832323429      Valid Array?:  True
User mishik:    Time of execution: 0.0439064509613      Valid Array?:  True
User Jaime:     Time of execution: 0.02767023558        Valid Array?:  True

使用Python 2.7、Windows 7 Enterprise 64位、Intel Core i7 2720QM@2.2 Ghz Sandy Bridge、8 GB内存进行测试


Tags: ofnumpytrue元素目标timenp数组
3条回答

使用^{}

>>> A = np.array([1, 3, 5, 7])
>>> B = np.array([2, 4, 6, 8])
>>> np.insert(B, np.arange(len(A)), A)
array([1, 2, 3, 4, 5, 6, 7, 8])

也可以使用切片:

C = np.empty((A.shape[0]*2), dtype=A.dtype)
C[0::2] = A
C[1::2] = B
>>> import numpy as np
>>> A=np.array([1,3,5,7])
>>> B=np.array([2,4,6,8])
>>> C=np.dstack([A,B])
>>> D=C.reshape((1,8))[0]
>>> D
array([1, 2, 3, 4, 5, 6, 7, 8])

相关问题 更多 >