Indexação de matriz NumPy

Resumo : neste tutorial, você aprenderá como acessar elementos de um array numpy usando índices.

Como uma lista , você pode usar a notação de colchetes( []) para acessar elementos de um array numpy .

Indexação de matriz NumPy em matrizes 1-D

Ao longo de um único eixo, você pode selecionar elementos usando índices. O primeiro elemento começa com índice 0, o segundo elemento começa com índice 1 e assim por diante.

Além dos índices não negativos, você pode usar índices negativos para localizar elementos. Por exemplo, o último elemento tem um índice -1, o penúltimo elemento tem um índice -2 e assim por diante.

O exemplo a seguir mostra como acessar elementos de um array unidimensional:

indexação de matriz numpy - matriz 1-d

import numpy as np

a = np.arange(0, 5)
print(a)

print(a[0])
print(a[1])
print(a[-1])Linguagem de código:  Python  ( python )

Saída:

[0 1 2 3 4]
0
1
4
3Linguagem de código:  Python  ( python )

Neste exemplo:

  • O a[0] retorna o primeiro elemento (0)
  • O a[1] retorna o segundo elemento (1)
  • O a[-1] retorna o último elemento (4)
  • O a[-2] retorna o penúltimo elemento (3)

Indexação de matriz NumPy em matrizes 2-D

Com matrizes 2D e multidimensionais, você pode selecionar elementos como faria com matrizes 1D, mas para cada dimensão (ou eixo). Por exemplo:

Indexação de array NumPy - array 2D
import numpy as np

a = np.array([
    [1, 2, 3],
    [4, 5, 6]
])

print(a.shape)

print(a[0])  # [1 2 3]
print(a[1])  # [4 5 6]

print(a[0, 0])  # 1
print(a[1, 0])  # 4
print(a[0, 2])  # 3
print(a[1, 2])  # 6
print(a[0, -1])  # 3
print(a[1, -1])  # 6Linguagem de código:  Python  ( python )

Saída:

(2, 3)
[1 2 3]
[4 5 6]
1
4
3
6
3
6Linguagem de código:  Python  ( python )

Neste exemplo, o array numpy a tem a forma (2,3), portanto, possui dois eixos:

  • O primeiro eixo possui 2 elementos (2 listas)
  • O segundo eixo possui três elementos (3 números)

A seguir explicamos como funciona a indexação de array:

  • O a[0] retorna o primeiro elemento do primeiro eixo, que é [1 2 3].
  • O a[1] retorna o segundo elemento do primeiro eixo, que é [4 5 6]
  • O a[0, 0] = 1: 0 seleciona o primeiro elemento do primeiro eixo ([1 2 3]) e o primeiro elemento do segundo eixo.
  • O a[1, 0] = 4: 1 seleciona o segundo elemento do primeiro eixo ([4 5 6]) e 0 seleciona o primeiro elemento do segundo eixo.
  • O a[0, 2]) = 3: 0 seleciona o primeiro elemento do primeiro eixo ([1 2 3]) e 2 seleciona o terceiro elemento do segundo eixo.
  • O a[1, 2] = 6: 1 seleciona o segundo elemento do primeiro eixo ([4 5 6]) e 2 seleciona o terceiro elemento do segundo eixo.
  • O a[0, -1] = 3: 0 seleciona o primeiro elemento do primeiro eixo ([1 2 3]) e -1 seleciona o último elemento do segundo eixo.
  • O a[1, -1] = 6: 1 seleciona o segundo elemento do primeiro eixo ([1 2 3]) e -1 seleciona o último elemento do segundo eixo.

Indexação de matriz NumPy em matrizes 3-D

O exemplo a seguir cria uma matriz numpy 3-D:

Indexação de array NumPy - array 3D
import numpy as np

a = np.array([
    [[1, 2], [3, 4], [5, 6]],
    [[5, 6], [7, 8], [9, 10]],
])

print(a.shape)Linguagem de código:  Python  ( python )

Saída:

(2, 3, 2)Linguagem de código:  Python  ( python )

A matriz possui três eixos.

  • O primeiro eixo possui 2 elementos (2 listas de listas de números)
  • O segundo eixo possui 3 elementos (3 listas de números)
  • O terceiro eixo possui 2 elementos (2 números)

Por exemplo:

import numpy as np

a = np.array([
    [[1, 2], [3, 4], [5, 6]],
    [[5, 6], [7, 8], [9, 10]],
])

print(a[0, 0, 1])  # 2Linguagem de código:  Python  ( python )

A seguinte expressão retorna 2:

a[0,0,1]Linguagem de código:  Python  ( python )

O primeiro número 0 seleciona o primeiro elemento do primeiro eixo e retorna:

[[1, 2], [3, 4], [5, 6]]Linguagem de código:  Python  ( python )

O segundo número 0 seleciona o primeiro elemento do segundo eixo e retorna:

[1, 2]Linguagem de código:  Python  ( python )

O terceiro número (1) seleciona o segundo elemento do terceiro eixo que retorna 2.

Resumo

  • Use a notação de colchetes [] com um índice para acessar elementos de uma matriz numpy.
  • Use índices zero e positivos para começar a selecionar desde o início do array.
  • Use índices negativos para começar a selecionar a partir do final do array.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *