Resumo : neste tutorial, você aprenderá sobre o fatiamento de array numpy que extrai um ou mais elementos de um array numpy.
Fatiamento de matriz numpy em matrizes tridimensionais
Matrizes NumPy usam colchetes []
e :
notações para fatiar listas semelhantes . Usando fatias, você pode selecionar um intervalo de elementos em uma matriz com a seguinte sintaxe:
[m:n]
Linguagem de código: Python ( python )
Esta fatia seleciona elementos começando m
e terminando com n-1
. Observe que o enésimo elemento não está incluído. Na verdade, a fatia m:n
pode ser definida explicitamente como:
[m:n:1]
Linguagem de código: Python ( python )
O número 1 especifica que a fatia seleciona todos os elementos entre m
e n
.
Para selecionar a cada dois elementos, você pode usar a seguinte fatia:
[m:n:2]
Linguagem de código: Python ( python )
Em geral, a seguinte expressão seleciona todos os k
elementos entre m
e n
:
[m:n:k]
Linguagem de código: Python ( python )
Se k
for negativo, a fatia retorna os elementos em ordem inversa, começando de m
até n+1
. A tabela a seguir ilustra as expressões de fatiamento:
Expressão de fatiamento | Significado |
---|---|
a[m:n] |
Selecione elementos com um índice começando em m e terminando em n-1. |
a[:] oua[0:-1] |
Selecione todos os elementos em um determinado eixo |
a[:n] |
Selecione elementos começando com índice 0 e até elemento com índice n-1 |
a[m:] |
Selecione os elementos começando com o índice me até o último elemento |
a[m:-1] |
Selecione os elementos começando com o índice me até o último elemento |
a[m:n:k] |
Selecione elementos com índice m a n (exclusivo), com incremento k |
a[::-1] |
Selecione todos os elementos na ordem inversa |
Veja o exemplo a seguir:
import numpy as np
a = np.arange(0, 10)
print('a=', a)
print('a[2:5]=', a[2:5])
print('a[:]=', a[:])
print('a[0:-1]=', a[0:-1])
print('a[0:6]=', a[0:6])
print('a[7:]=', a[7:])
print('a[5:-1]=', a[5:-1])
print('a[0:5:2]=', a[0:5:2])
print('a[::-1]=', a[::-1])
Linguagem de código: Python ( python )
Saída:
a= [0 1 2 3 4 5 6 7 8 9]
a[2:5]= [2 3 4]
a[:]= [0 1 2 3 4 5 6 7 8 9]
a[0:-1]= [0 1 2 3 4 5 6 7 8]
a[0:6]= [0 1 2 3 4 5]
a[7:]= [7 8 9]
a[5:-1]= [5 6 7 8]
a[0:5:2]= [0 2 4]
a[::-1]= [9 8 7 6 5 4 3 2 1 0]
Linguagem de código: Python ( python )
Fatiamento de matriz numpy em matrizes multidimensionais
Para fatiar uma matriz multidimensional, você aplica os colchetes []
e a :
notação a cada dimensão (ou eixo). A fatia retorna uma matriz reduzida onde cada elemento corresponde às regras de seleção. Por exemplo:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(a[0:2, :])
Linguagem de código: Python ( python )
Saída:
[[1 2 3]
[4 5 6]]
Linguagem de código: Python ( python )
Neste exemplo, a matriz a é uma matriz 2-D. Na expressão a[0:2, :]
:
Primeiro, 0:2
seleciona o elemento nos índices 0 e 1, não 2, que retorna:
[[1 2 3]
[4 5 6]]
Linguagem de código: Python ( python )
Em seguida, :
selecione todos os elementos. Portanto, toda a expressão retorna:
[[1 2 3]
[4 5 6]]
Linguagem de código: Python ( python )
Considere outro exemplo:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(a[1:, 1:])
Linguagem de código: Python ( python )
Saída:
[[5 6]
[8 9]]
Linguagem de código: Python ( python )
Na expressão a[1:, 1:]
:
Primeiro, 1:
seleciona os elementos começando no índice 1 até o último elemento do primeiro eixo (ou linha), que retorna:
[[4 5 6]
[7 8 9]]
Linguagem de código: Python ( python )
Segundo, 1:
seleciona os elementos começando no índice 1 até os últimos elementos do segundo eixo (ou coluna), que retorna:
[[5 6]
[8 9]]
Linguagem de código: Python ( python )
Resumo
- Use o fatiamento para extrair elementos de uma matriz numpy
- Use
a[m:n:p]
para fatiar matrizes unidimensionais. - Use
a[m:n:p, i:j:k, ...]
para fatiar matrizes multidimensionais