我正在尝试使用numpy的“使用数组建立索引”功能。
给出以下代码:
import numpy as np
x = np.array([[10, 20, 30], [40, 50, 60]])
index = ???
print(x[index])
我要打印:[10,50]
也就是说,我想找到正确的形状数组,该形状将从矩阵中的两个连续行中提取。
index = np.array([0, 1])
index = np.array([[0], [1]])
两个都打印: [10,20]和[[10],[20]]
在这些情况下,所有索引行都被“广播”到目标的第一行。这是没有道理的。从矩阵的连续行中索引出来的正确技术是什么?
答案 0 :(得分:1)
您可以同时传递两个维度
x[np.arange(len(x)),[0,1]]
Out[137]: array([10, 50])