示例在底部带有小数组。 我有一个尺寸为MxN(N> 100)的numpy数组数据和一个尺寸为Mx100的较小数组A。
数组A包含数据数组的列索引。
我想提取由A中的索引给出的所有数据列。 问题在于,每行A中的索引都不相同。
我尝试过
data[:,A]
但这会返回一个MxMx100数组。 我只想要一个Mx100阵列。 我可以在for循环中执行此操作,但这需要很长时间。 如何正确执行此操作?
示例:
data=np.array([[1,2,3],[4,5,6],[7,8,9]])
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
A=np.array([[0,1],[1,2],[0,2]])
我要提取: 第一行:索引0和1。第二行:索引1和2。第三行:索引0和2
所需结果:
array([[1,2],
[5,6],
[7,9]])
答案 0 :(得分:1)
使用Applicative
broadcasting