如何使用 numpy 轻松从二维矩阵中获取这些值?

问题描述 投票:0回答:1

我有这个 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]

任何帮助将不胜感激,谢谢

python arrays numpy matrix
1个回答
0
投票

您需要在数组中添加逗号。

您可以使用 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]])
© www.soinside.com 2019 - 2024. All rights reserved.