English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Inversão do Array do NumPy

Métodos comuns de inversão de matriz

FunçãoDescrição
transposeInverter a dimensão da matriz
ndarray.TÉ o mesmo que self.transpose()
rollaxisRolar para trás o eixo especificado
swapaxesInverter dois eixos da matriz

numpy.transpose

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]]

numpy.rollaxis

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]]]

numpy.swapaxes

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]]]