Ravel Python Numpy

Ravel Python Numpy
Como Numpy é uma biblioteca padrão do Python que trabalha com operações matemáticas de alto nível, como matrizes e matrizes com cálculo eficiente. Tem uma função interna para manipular matrizes. Este artigo terá uma discussão profunda sobre uma das funções suportadas por Numpy que são chamadas de Numpy.Função Ravel ().

Ele retorna uma matriz de achatação contígua, o que significa que muda uma matriz bidimensional ou uma matriz multidimensional em uma matriz unidimensional do mesmo tipo que a da matriz de entrada. Vamos ter um exemplo de implementação deste RAVEL () FUNCO.

Todos os exemplos são executados no terminal do Spyder. Observe que temos que importar o módulo Numpy para acessar esta função Ravel ().

Sintaxe de Numpy.Ravel ()

A sintaxe usada em Numpy.A função RAVEL () é assim:

# Numpy.RAVEL (Z, Order = "C")

Parâmetro passado de Numpy.Ravel ()

Principalmente, existem dois parâmetros passados ​​nesta função: 'z' e 'ordem'. O 'Z' é uma matriz de entrada que muda em uma matriz de achatação contígua ou em uma matriz unidimensional. Os elementos da matriz estão na ordem especificada pelo parâmetro 'Ordem' e embalados em uma matriz unidimensional.

Este pedido é um parâmetro opcional que leva três argumentos: C, F e K. Se definirmos um pedido como C, a matriz será achatada em Row-Major e, por padrão, o parâmetro "C" será levado. Se definirmos "f", a matriz receberá uma matriz achatada em coluna-major. Por outro.

Exemplo 1:

Neste exemplo, temos uma matriz bidimensional como uma matriz de entrada com valores diferentes com uma variável atribuída com o nome 'arr_1'. Então vamos ligar para o ARR_1.Ravel () função para achatar uma matriz em outra variável 'arr_2'.

Podemos ter valores de matriz de entrada e nitocar valores de matriz na tela do console através de instruções de impressão.

importar numpy como np
arr_1 = np.Array ([[0, -8, 3], [15, 2, 1]]))
ARR_2 = ARR_1.Ravel ()
print ("Exibindo a matriz de entrada: \ n", arr_1)
Print ("Exibindo a matriz de saída: \ n", arr_2)

Finalmente, temos a saída de matriz 2D convertida na matriz 1-D abaixo.

Exemplo 2:

Aqui no exemplo, mostraremos que a função Ravel () é igual à função Reshape (). Em primeiro lugar, criamos uma matriz 2D da função de matriz np.Array () então atribuído my_arr.RAVEL () para uma variável 'output_arr' que carrega a matriz achatada; Depois disso, imprimimos matrizes de entrada e matriz de saída.

Por fim, aplicamos my_arr.Reshape (-1) em uma variável reshape_arr. Imprimimos a matriz de remodelamento e a matriz de funções Ravel ().

importar numpy como np
my_arr = np.Array ([[99, 15, 56], [7, 63, -54]]))
output_arr = my_arr.Ravel ()
print ("Exibindo a matriz de entrada: \ n", my_arr)
print ("Exibindo a matriz de entrada: \ n", output_arr)
reshape_arr = my_arr.remodelar (-1)
print ("Exibindo a matriz de remodelamento: \ n", my_arr)

Como remodelamos a matriz e achatamos a matriz da função RAVEL (), a saída é mostrada na captura de tela abaixo.

Exemplo 3:

Neste exemplo em particular, estamos aplicando o Numpy.Ravel () função com a ordem 'f' que definirá a matriz 2D em uma matriz de colunas major 1D. Temos uma matriz 2D em uma variável 'f_arr' e f_arr.Função Ravel () com a ordem é igual a 'f' em outra variável representada como f_output que imprimirá a saída como coluna-major.

Por fim, temos uma declaração impressa de f_arr como matriz de entrada e matriz f_output como matriz de saída.

importar numpy como np
F_arr = np.Array ([[11, 32, 23], [-4, 58, 88]]))
F_output = f_arr.Ravel ('f')
print ("Exibindo a matriz de entrada: \ n", f_arr)
Print ("Exibindo a matriz de saída: \ n", f_output)

A saída do código acima na matriz de colunas-major é exibida abaixo.

Exemplo 4:

Este exemplo usa 'C' como um parâmetro de ordem que converterá a matriz 2D em uma matriz 1D que é Row-Major. Criamos uma matriz 2D que carrega valores diferentes representados como 'x_array' variável.

Depois disso, temos o x_array.Função Ravel () pegando o parâmetro de ordem como 'c' que nos dará uma matriz 1D como row-major.

importar numpy como np
x_array = np.Array ([[0, 4, 8], [1, 5, 9]]))
y_array = x_array.Ravel ('C')
print ("Esta é uma matriz de entrada: \ n", x_array)
print ("Esta é uma matriz de saída: \ n", y_array)

Como um parâmetro de ordem definido como 'c' que nos dá uma matriz de saída em uma matriz achatada.

Exemplo 5:

Neste exemplo, pegue o parâmetro da ordem e defina -o como 'k' para saber como esse parâmetro de ordem funciona. Para isso, temos que pegar uma matriz 2D e armazenar o valor da matriz em uma variável 'k_array' de uma função de matriz.

Então chamando um k_arr.Ravel () Função e Passagem de um pedido definido como 'K' como um argumento que retornará uma linha única de uma linha 2D. Podemos ver a matriz de entrada e resultar de uma matriz com o pedido definido como 'k' através de uma declaração de impressão. Nós imprimimos as matrizes.

importar numpy como np
k_array = np.Array ([[4, 14, 44], [5, 15, 55]]))
k_output = k_array.Ravel ('K')
Print ("Aqui está a matriz de entrada: \ n", k_array)
Print ("Aqui está a matriz de saída: \ n", k_output)

Por fim, temos a matriz de saída como uma matriz achatada. Temos a captura de tela abaixo do código acima.

Exemplo 6:

O último exemplo é usar o remodelamento com a troca de seus eixos. Vamos implementar este exemplo desta vez; Definimos o intervalo da matriz para um valor 10 de um NP.Chamada de função ARANGE (). Isso ajudará na função Reshape (). Como a função reshape () remodelará o número de dimensões sem ter uma mudança nos dados.

Também chamamos a função swapaxes () que trocará o eixo de 0 a 1, depois armazenamos NP.Função Ravel () que pega uma matriz de entrada e a ordena como 'c' na variável 'p'. Tomamos variáveis ​​diferentes para definir a ordem c, k, f como p, q e r. Imprimir a variável que fornecerá diferentes resultados para diferentes conjuntos de pedidos.

importar numpy como np
my_array = np.ARANGE (10).remodelar (2,5).Swapaxes (0,1)
p = np.Ravel (my_array, ordem = 'c')
q = np.Ravel (my_array, ordem = 'k')
r = np.Ravel (my_array, ordem = 'f')
Print ("Matriz de saída: \ n", my_array)
Print ("Matriz de saída da ordem C: \ n", p)
Print ("Matriz de saída da ordem K: \ n", q)
Print ("Matriz de saída de f_order: \ n", r)

Temos uma saída diferente abaixo na tela.

Conclusão

Temos uma discussão profunda sobre todos os parâmetros de ordem da função Ravel (). Vimos como essa função retorna uma matriz achatada da matriz bidimensional com um exemplo diferente. Felizmente, essas ilustrações o ajudarão a compreender o conceito de forma mais perfeita.