我有一个2D numpy数组,我想从中提取多组行/列.
# img is 2D array
img = np.arange(25).reshape(5,5)
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
我知道提取一组行/列的语法.下面将提取前4行以及第3列和第4列,如下所示
img[0:4, 2:4]
array([[ 2, 3],
[ 7, 8],
[12, 13],
[17, 18]])
但是,如果要提取多组行和/或列,语法是什么?我try 了下面的方法,但它导致了invalid syntax
个错误
img[[0,2:4],2]
我从上面的命令中寻找的输出是
array([[ 2],
[12],
[17]])
我试着搜索这个,但它只会得到一组行/列的结果,或者提取我知道怎么做的离散行/列,比如使用np.九.
在上下文中,我实际处理的2D数组的维数约为800X1200,我想从这个数组中一次性提取多个范围的行和列.大约img[[0:100, 120:210, 400, 500:600], [1:450, 500:550, 600, 700:950]]
个.