37,743
社区成员




import numpy as np
x = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])
print ('我们的数组是:' )
print (x)
print ('\n')
rows = np.array([[0,0],[3,3]])
cols = np.array([[0,2],[0,2]])
y = x[rows,cols]
print ('这个数组的四个角元素是:')
print (y)
我们的数组是:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
这个数组的四个角元素是:
[[ 0 2]
[ 9 11]]
x =
[[0 1 2]
[3 5 5]
[6 7 8]
[9 10 11]]
构造行索引矩阵:rows = numpy.array([[0, 0], [3, 3]]),于是:
rows =
[[r00 r01]
[r10 r11]]
=
[[0 0]
[3 3]]
构造列索引矩阵:cols = numpy.array([[0, 2], [0, 2]]),于是:
cols =
[[c00 c01]
[c10 c11]]
=
[[0 2]
[0 2]]
矩阵x的四个角的坐标分别由(r00, c00), (r01, c01), (r10, c10), (r11, c11)组成,构成矩阵索引如下:
[[(r00, c00) (r01, c01)]
[(r10, c10) (r11, c11)]]
对矩阵x来说,坐标(r00, c00)的值为
x(r00, c00) = x(0, 0) = 0
同理:
x(r01, c01) = x(0, 2) = 2
x(r10, c10) = x(3, 0) = 9
x(r11, c11) = x(3, 2) = 11
最终,四个角构成的矩阵为:
y =x[rows, cols] =
[[0 2]
[9 11]]