python – numpy中的数组赋值/:冒号等效

我试图将两个不同大小的数组的
python / numpy索引联系起来,但是我不能通过子程序将索引一从小数组传递到大数组.

例如,我有两个numpy数组:a1和a2. a1.shape =(240,33,258)和a2.shape =(240,40,33,258).我在a1中找到索引并将这些索引与a2相关联.即.,index1 = numpy.where(a> n).我可以抓住我感兴趣的数据

dat1 = a1[index]
dat2 = a2[index[0],:,index[1],index[2]]

结果数据形状为dat1.shape =(n)和dat2.shape =(n,40).为了加速程序,我想通过一个子程序传递索引,但我不能通过子程序传递[index [0],:,index [1],index [2]],因为我无法传递冒号’:’ .

我相信我的解决方案是在子程序中将等效数字传递给’:’,但我还没有找到答案.

有帮助吗?

非常感谢你

最佳答案 您应该能够使用slice(None)来表示:.如在

[index[0], slice(None), index[1], index[2]]
点赞