NumPy ravel()

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.
  • orderespecifica a ordem dos elementos. Confira o flatten()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 ravel()função cria uma visualização do array. O ravel()único faz uma cópia de um array, se necessário. Por exemplo:

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] = 0Linguagem 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 flatten()método e ravel()a função é que você pode chamar o flatten()método ndarrayenquanto pode chamar a ravel()função em um objeto semelhante a um array.

Resumo

  • Use a função numpy ravel()para retornar uma matriz nivelada contígua.

Deixe um comentário

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