如果这已被多次回答,我很抱歉,但我找不到解决方案。
假设以下代码:
import numpy as np
A,_,_ = np.meshgrid(np.arange(5),np.arange(7),np.arange(10))
B = (rand(7,10)*5).astype(int)
如何使用切片A
来B
表示(Ie )B
的第一个和最后一个维度中的索引?A
A[magic] = B
我努力了
A[:,B,:]
由于高级索引的特性,这不起作用。A[:,B,np.arange(10)]
生成我所追求的矩阵的 7 个副本A[np.arange(7),B,np.arange(10)]
给出错误:
ValueError: shape mismatch: objects cannot be broadcast to a single shape
还有其他建议吗?