numpy 数组索引数组

在numpy中,数组除了能够被整数索引,还能够被数组索引.数组

a[b]就是已数组b的元素为索引,读取数组a的值.spa

当被索引数组a是一维数组,b是一维或则多维数组时,结果维度维度与索引数组b相同。code

a = np.array([7,8,9,10]) b=np.array([[3,1],[1,2]]) print('a:',a) print('b:',b) print('result:',a[b]) print(a[b].shape)
a: [ 7  8  9 10] b: [[3 1] [1 2]] result: [[10  8] [ 8  9]] (2, 2)

当被索引数组a是多维数组,b是一维或则多维数组时,每个惟一的索引数列指向a的第一维。blog

a = np.array([ [0, 0, 0], # 黑色
    [255, 0, 0],  # 红色
    [0, 255, 0],  # 绿色
    [0, 0, 255],  # 蓝色
    [255, 255, 255]  # 白色
]) b= np.array([ [0, 1, 2, 0], [0, 3, 4, 0] ]) print(a.shape) print(b.shape) print('result:',a[b]) print(a[b].shape)
(5, 3) (2, 4) result: [[[ 0 0 0] [255 0 0] [ 0 255 0] [ 0 0 0]] [[ 0 0 0] [ 0 0 255] [255 255 255] [ 0 0 0]]] (2, 4, 3)
相关文章
相关标签/搜索