Resumo : neste tutorial, você aprenderá como usar o NumPy ravel()
para retornar um array nivelado contíguo.
Introdução à função NumPy ravel()
A ravel()
função aceita um array e retorna um array 1-D contendo os elementos do array de entrada:
numpy.ravel(a, order='C')
Linguagem de código: Python ( python )
Nesta sintaxe:
a
é uma matriz numpy. Pode ser qualquer objeto semelhante a um array, por exemplo, uma lista . Um objeto semelhante a um array é um objeto que pode ser convertido em um array numpy.order
especifica a ordem dos elementos. Confira oflatten()
método para obter informações detalhadas sobre o parâmetro do pedido e seus valores.
Exemplo de função NumPy ravel()
Vejamos alguns exemplos de uso da ravel()
função.
1) Usando a função NumPy ravel() para nivelar um array
O exemplo a seguir usa a ravel()
função para nivelar uma matriz 2D:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.ravel(a)
print(b)
Linguagem de código: Python ( python )
Saída:
[1 2 3 4]
Linguagem de código: Python ( python )
Como funciona.
Primeiro, crie uma matriz 2-D:
a = np.array([[1, 2], [3, 4]])
Linguagem de código: Python ( python )
Segundo, nivele o array usando a ravel()
função:
b = np.ravel(a)
Linguagem de código: Python ( python )
Terceiro, exiba a matriz:
print(b)
Linguagem de código: Python ( python )
2) função ravel() vs. método flatten()
O flatten()
método cria uma cópia de um array de entrada enquanto a
função cria uma visualização do array. O ravel()
único faz uma cópia de um array, se necessário. Por exemplo:ravel()
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.ravel(a)
# change element at index 0
b[0] = 0
# show both b & a array
print(b)
print(a)
Linguagem de código: Python ( python )
Como funciona.
Primeiro, use a ravel()
função para criar uma visualização do array a:
b = np.ravel(a)
Linguagem de código: Python ( python )
Segundo, altere o elemento do índice 0 do array b para zero:
b[0] = 0
Linguagem de código: Python ( python )
Terceiro, mostre ambas as matrizes a e b. Como o array b é uma visão do array a, a mudança no array b é refletida no array a:
print(b)
print(a)
Linguagem de código: Python ( python )
Outra diferença importante entre o
método e flatten()
a função é que você pode chamar o ravel()
método flatten()
ndarray
enquanto pode chamar a
função em um objeto semelhante a um array.ravel()
Resumo
- Use a função numpy
ravel()
para retornar uma matriz nivelada contígua.