logo

numpy.ravel() em Python

O módulo numpy do Python fornece uma função chamada numpy.ravel, que é usada para transformar um array bidimensional ou multidimensional em um array achatado contíguo. A matriz retornada tem o mesmo tipo de dados que a matriz de origem ou matriz de entrada. Se a matriz de entrada for uma matriz mascarada, a matriz retornada também será uma matriz mascarada.

Sintaxe:

 numpy.ravel(x, order='C') 

Parâmetros:

x: array_like

Este parâmetro define o array de entrada, que queremos alterar em um array achatado contíguo. Os elementos da matriz são lidos na ordem especificada pelo parâmetro order e compactados como uma matriz 1-D.

ordem: {'C','F', 'A', 'K'}(opcional)

Se definirmos o parâmetro order como 'C', isso significa que o array será achatado na ordem da linha principal. Se 'F' for definido, a matriz será achatada na ordem da coluna principal. A matriz é achatada na ordem da coluna principal somente quando 'A' é Fortran contíguo na memória e quando definimos o parâmetro de ordem como 'A'. A última ordem é 'K', que achata o array na mesma ordem em que os elementos ocorreram na memória. Por padrão, este parâmetro é definido como 'C'.

Retorna:

Esta função retorna uma matriz plana contígua com o mesmo tipo de dados de uma matriz de entrada e tem formato igual a ( x.tamanho ).

Exemplo 1:

 import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y 

Saída:

 array([ 1, 3, 5, 11, 35, 56]) 

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos uma matriz 'x' usando a função np.array().
  • Declaramos a variável y e atribuímos o valor retornado da função np.ravel().
  • Passamos a matriz 'x' na função.
  • Por último, tentamos imprimir o valor de e .

Na saída, os valores da matriz são mostrados em uma matriz nivelada contígua.

Exemplo 2:

 import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y = np.ravel(x, order='F') z = np.ravel(x, order='C') p = np.ravel(x, order='A') q = np.ravel(x, order='K') y z p q 

Saída:

 array([ 1, 11, 3, 35, 5, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) 

Exemplo 3:

 import numpy as np x = np.arange(12).reshape(3,2,2).swapaxes(1,2) x y=np.ravel(a, order='C') y z=np.ravel(a, order='K') z q=np.ravel(a, order='A') q 

Saída:

string java para int
 array([[[ 0, 2], [ 1, 3]], [[ 4, 6], [ 5, 7]], [[ 8, 10], [ 9, 11]]]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) 

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos uma matriz 'x' usando a função np.arange().
  • Mudamos sua forma e trocamos o eixo usando o remodelar() e np.swapaxes() função.
  • Declaramos as variáveis ​​y, z e q e atribuímos o valor retornado da função np.ravel().
  • Passamos a matriz 'x' e pedir C , K , e A na função.
  • Por último, tentamos imprimir o valor de e .

Na saída, os valores da matriz são mostrados em uma matriz nivelada contígua.