Kar*_*rus 4 python arrays numpy
如何通过指定要包含哪些行和列(分别由和表示)来创建B作为 NumPy array 的子数组的NumPy 数组?Axy
例如:
A = numpy.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
x = [0, 2]
y = [1, 3, 4]
B = # Do something .....
Run Code Online (Sandbox Code Playgroud)
应该给出输出:
>>> B
array([[2, 4, 5], [12, 14, 15]])
Run Code Online (Sandbox Code Playgroud)
最好的方法是使用该ix_函数:有关详细信息,请参阅MSeifert 的答案。
或者,您可以使用xand来链接索引操作y:
>>> A[x][:,y]
array([[ 2, 4, 5],
[12, 14, 15]])
Run Code Online (Sandbox Code Playgroud)
Firstx用于选择 的行A。接下来,[:,y]挑选由 的元素指定的子数组的列y。
在这种情况下,链接是对称的:A[:,y][x]如果您愿意,您也可以首先选择列。