Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何映射具有相同索引的2个numpy数组_Python_Numpy - Fatal编程技术网

Python 如何映射具有相同索引的2个numpy数组

Python 如何映射具有相同索引的2个numpy数组,python,numpy,Python,Numpy,我试图将2个numpy数组映射为[x,y],类似于zip对列表和元组所做的 我有2个numpy阵列,如下所示: arr1 = [1, 2, 3, 4] arr2 = [5, 6, 7, 8] 我正在寻找一个输出为np.array([[[1,5],[2,6],[3,7],[4,8]]) 我尝试了这个方法,但它映射了每个值,并且没有相同的索引。我可以在这里添加更多的if条件,但有没有其他方法可以在不添加任何if条件的情况下添加更多的if条件 res = [arr1, arr2] for a1 in

我试图将2个numpy数组映射为[x,y],类似于zip对列表和元组所做的

我有2个numpy阵列,如下所示:

arr1 = [1, 2, 3, 4]
arr2 = [5, 6, 7, 8]
我正在寻找一个
输出为np.array([[[1,5],[2,6],[3,7],[4,8]])

我尝试了这个方法,但它映射了每个值,并且没有相同的索引。我可以在这里添加更多的if条件,但有没有其他方法可以在不添加任何if条件的情况下添加更多的if条件

res = [arr1, arr2] for a1 in arr1 for a2 in arr2]

内置的
zip
命令就是您在这里的工作。它会完全按照你的要求做

arr1 = [1,2,3,4]
arr2 = [5,6,7,8]
list(zip(arr1, arr2))
[(1, 5), (2, 6), (3, 7), (4, 8)]
IIUC,一种方法是使用,然后是:

或者您可以将
zip
的输出传递给
array
构造函数:

print(np.array(zip(arr1, arr2)))
#array([[1, 5],
#       [2, 6],
#       [3, 7],
#       [4, 8]])
你在找什么

按深度顺序堆叠阵列(沿第三轴)


很好的方法,但是OP正在寻找一个特定于
numpy.ndarray
参数和返回的方法。我不知道这个方法存在+1它的numpy,某些东西总是存在;)谢谢@user3483203。我尝试了上面的方法,但是没有逗号分隔的值。是的,我的输入是这种类型的
哦,这就是你的stdout表示numpy数组的方式。如果您想验证是否需要(1,4,2)数组,请尝试转换为列表?初始尺寸为1维的3d。
print(np.array(zip(arr1, arr2)))
#array([[1, 5],
#       [2, 6],
#       [3, 7],
#       [4, 8]])
np.dstack([arr1, arr2])

array([[[1, 5],
        [2, 6],
        [3, 7],
        [4, 8]]])