我有这个 2d numpy 矩阵
a = np.array(
[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]
[16 17 18 19 20]
[21 22 23 24 25]
[26 27 28 29 30]])
我想从中提取这些值只是为了学习:)
[[11,12],[16,17],[29,30]]
经过这么多次尝试,我最终进入了 chatGPT,这也给了我一个错误的答案:( chatGPT 建议这样做
a[[2, 3, 5], [0, 1, 1]]
但产生了这些值 [11 17 27]
任何帮助将不胜感激,谢谢
您需要在数组中添加逗号。
您可以使用 numpy 索引:https://numpy.org/doc/stable/user/basics.indexing.html
import numpy as np
a=np.array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28, 29, 30]])
print(a[2:4,0:2])
#output
array([[11, 12],
[16, 17]])
print(a[5:,3:])
#output
array([[29, 30]])