numpy 数组索引数组

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

 

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的第一维。

 

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)

 

上一篇:设计模式 学习笔记:抽象工厂模式


下一篇:PCL:3DSC特征(3D形状上下文特征)