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.