关于#numpy#的问题,如何解决?(语言-python)

import numpy as np
x = np.array([[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28, 29, 30],
[31, 32, 33, 34, 35]])
r = [0, 1, 2]
c = [2, 3, 4]
y = np.take(x, [r, c])
print(y)

[[11 12 13]

[13 14 15]]

结果为什么是这个。

这个不就是正确的吗?你可以看看这篇博客:Python numpy.take用法及代码示例 - 纯净天空

就是当x为多维数组时,这个np.take()函数y = np.take(x, [r, c])中无论是几维,都是将x矩阵展开成一维,依次数数字,并将其排列成【r,c】这种维度。如r=[5,6,7],c=[7,8,9],y=[[16,17,18],[18,19,20]]

import numpy as np
x = np.array([[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28, 29, 30],
[31, 32, 33, 34, 35]])
r = [5, 6, 7]
c = [7, 8, 9]
y = np.take(x, [r, c])
print(y)

[[16 17 18]
[18 19 20]]

你可以参考下这篇文章:Python中矩阵运算(基于numpy包)
你还可以看下python参考手册中的 python-Python 语言服务