是否有一种更pythonic /更智能/更有效的方法来创建新的numpy数组,其中每个元素都是N个元素在同一位置的水平堆叠?
示例输入:
a = [
[ 0.29425778 0.69311652]
[ 1.64811132 -0.21107166]
]
b = [
[ 0.15356808 -1.00027092]
[[-1.578063 0.29741589]
]
结果:
[
array([0.29425778, 0.15356808]),
array([ 0.69311652, -1.00027092]),
array([ 1.64811132, -1.578063 ]),
array([-0.21107166, 0.29741589])
]
现在,我只使用嵌套的for循环,显然可以。
欢呼声, FB
答案 0 :(得分:1)
import numpy as np
a = np.array([[0.29425778, 0.69311652], [1.64811132, -0.21107166]])
b = np.array([[0.15356808, -1.00027092],[-1.578063, 0.29741589]])
result = np.dstack((a, b)).reshape(-1, 2)
print(result)
输出
[[ 0.29425778 0.15356808]
[ 0.69311652 -1.00027092]
[ 1.64811132 -1.578063 ]
[-0.21107166 0.29741589]]