English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Métodos comuns de inversão de matriz
Função | Descrição |
transpose | Inverter a dimensão da matriz |
ndarray.T | É o mesmo que self.transpose() |
rollaxis | Rolar para trás o eixo especificado |
swapaxes | Inverter dois eixos da matriz |
A função numpy.transpose é usada para inverter as dimensões da matriz, conforme a seguinte forma:
numpy.transpose(arr, axes)
Descrição dos Parâmetros:
arr: array a ser operadoaxes: lista de inteiros, correspondente à dimensão, geralmente todas as dimensões serão invertidas.
import numpy as np a = np.arange(12).reshape(3,4) print ('Array original:') print(a) print ('\n') print('Inverter matriz:') print(np.transpose(a))
Os resultados de saída são os seguintes:
Array original: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] Inverter matriz: [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]
O numpy.ndarray.T é semelhante ao numpy.transpose:
import numpy as np a = np.arange(12).reshape(3,4) print ('Array original:') print (a) print ('\n') print('Transpor matriz:') print(a.T)
Os resultados de saída são os seguintes:
Array original: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] Transpor matriz: [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]
A função numpy.rollaxis rola para trás um eixo específico para uma posição específica, conforme a seguinte forma:
numpy.rollaxis(arr, axis, start)
Descrição dos Parâmetros:
arr: Arrayaxis: O eixo a ser rolado para trás, a posição relativa dos outros eixos não mudastart: O valor padrão é zero, representando rolagem completa. Será rolado para uma posição específica.
import numpy as np # Criou um ndarray tridimensional a = np.arange(8).reshape(2,2,2) print ('Array original:') print (a) print ('\n') # Rollar o eixo 2 Rollar o eixo 0 (largura para profundidade) print ('Chamada da função rollaxis:') print (np.rollaxis(a,2)) # Move o eixo 0 para o eixo 1(largura para altura) print ('\n') print ('Chamada da função rollaxis:') print (np.rollaxis(a,2,1))
Os resultados de saída são os seguintes:
Array original: [[[0 1] [2 3]] [[4 5] [6 7]]] Chamada da função rollaxis: [[[0 2] [4 6]] [[1 3] [5 7]]] Chamada da função rollaxis: [[[0 2] [1 3]] [[4 6] [5 7]]]
A função numpy.swapaxes é usada para trocar os dois eixos de um array, no formato a seguir:
numpy.swapaxes(arr,1,2)
arr: Array de entradaaxis1: Número inteiro correspondente ao eixo umaxis2: Número inteiro correspondente ao eixo dois
import numpy as np # Criou um ndarray tridimensional a = np.arange(8).reshape(2,2,2) print ('Array original:') print (a) print ('\n') # Agora troca o eixo 0 (direção da profundidade) para o eixo 2(direção da largura) print ('Array após a chamada da função swapaxes:') print (np.swapaxes(a, 2, 0))
Os resultados de saída são os seguintes:
Array original: [[[0 1] [2 3]] [[4 5] [6 7]]] Array após a chamada da função swapaxes: [[[0 4] [2 6]] [[1 5] [3 7]]]