scipy 关于在给定示例中numpy中的数组索引

nue99wik  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(131)

下面的示例是关于索引数组的

import numpy as np
labels = np.array([0, 1, 2, 0, 4])
image = np.array([[0, 0, 1, 1, 1], 
              [2, 2, 0, 0, 0], 
              [0, 0, 3, 0, 4]])

标签[图像]给出以下结果

array([[0, 0, 1, 1, 1],
       [2, 2, 0, 0, 0],
       [0, 0, 0, 0, 4]])

我不清楚这是怎么回事,我。e.,labels[image] works?谢谢。

fkaflof6

fkaflof61#

这就是所谓的花式索引。labels[image]的结果是一个新的numpy数组,其中包含根据索引数组image指定的索引从labels数组中选择的元素。新数组的维数与索引数组的维数相同,在本例中为3乘5。这个例子会让你更容易理解:

labels = np.array(['a','b','c','d','e','f'])
image = np.array([[0, 0, 1, 1, 1], 
                  [2, 2, 0, 0, 0], 
                  [1, 0, 3, 0, 4]])
labels[image]

结果如下:

array([['a', 'a', 'b', 'b', 'b'],
       ['c', 'c', 'a', 'a', 'a'],
       ['b', 'a', 'd', 'a', 'e']])

请注意,我在标签中添加了元素f只是为了表明它从未被索引数组(图像)调用。我希望这有帮助!

相关问题