Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.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 使用另一个三维阵列索引到三维阵列的最后一个轴_Python_Arrays_Numpy - Fatal编程技术网

Python 使用另一个三维阵列索引到三维阵列的最后一个轴

Python 使用另一个三维阵列索引到三维阵列的最后一个轴,python,arrays,numpy,Python,Arrays,Numpy,如果我有一个数组x,哪个值与shape(2,3,4)的值相同: array([[[ 0.15845319, 0.57808432, 0.05638804, 0.56237656], [ 0.73164208, 0.80562342, 0.64561066, 0.15397456], [ 0.34734043, 0.88063258, 0.4863103 , 0.09881028]], [[ 0.35823078, 0.71260

如果我有一个数组x,哪个值与shape(2,3,4)的值相同:

array([[[ 0.15845319,  0.57808432,  0.05638804,  0.56237656],
        [ 0.73164208,  0.80562342,  0.64561066,  0.15397456],
        [ 0.34734043,  0.88063258,  0.4863103 ,  0.09881028]],

       [[ 0.35823078,  0.71260357,  0.49410944,  0.94909165],
        [ 0.02730397,  0.67890392,  0.74340148,  0.47434223],
        [ 0.02494292,  0.59827256,  0.20550867,  0.30859339]]])
我有一个索引数组y,它的形状是(2,3,3),值是:

array([[[0, 2, 2],
        [2, 0, 2],
        [0, 0, 2]],

       [[1, 2, 1],
        [1, 1, 1],
        [1, 2, 2]]])
因此,我可以使用x[0,0,y[0][0]]对数组进行索引x,它将生成如下输出:

array([ 0.15845319,  0.05638804,  0.05638804])
我的问题是:有什么简单的方法可以做到这一点吗?我已经试过了 x[y],它不起作用。

您可以使用-


写一个小函数来实现缩写?我想用一种简单的方式来实现它,而不是一个函数,就像我在这里发布的问题()。
m,n = y.shape[:2]
out = x[np.arange(m)[:,None,None],np.arange(n)[:,None],y]