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

Inversión de arrays de NumPy

Métodos comunes de inversión de array

FunciónDescripción
transposeIntercambiar las dimensiones del array
ndarray.TEs igual a self.transpose()
rollaxisDesplazar el eje especificado hacia atrás
swapaxesIntercambiar dos ejes del array

numpy.transpose

La función numpy.transpose se utiliza para intercambiar las dimensiones del array, con el formato siguiente:

numpy.transpose(arr, axes)

Descripción de los parámetros:

arr:el array a operaraxes:lista de enteros, correspondiente a la dimensión, generalmente se intercambian todas las dimensiones。

import numpy as np
 
a = np.arange(12).reshape(3,4)
 
print ('Array original:')
print(a )
print ('\n')
 
print('Intercambiar el array:')
print(np.transpose(a))

Los resultados de salida son los siguientes:

Array original:
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
Intercambiar el array:
[[ 0 4 8]
 [ 1 5 9]
 [ 2 6 10]
 [ 3 7 11]]

El tipo numpy.ndarray.T es similar a numpy.transpose:

import numpy as np
a = np.arange(12).reshape(3,4)
 
print ('Array original:')
print (a)
print ('\n')
 
print('Transponer el array:')
print(a.T)

Los resultados de salida son los siguientes:

Array original:
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
Transponer el array:
[[ 0 4 8]
 [ 1 5 9]
 [ 2 6 10]
 [ 3 7 11]]

numpy.rollaxis

La función numpy.rollaxis desplaza el eje específico a una posición específica hacia atrás, con el formato siguiente:

numpy.rollaxis(arr, axis, start)

Descripción de los parámetros:

arr:arrayaxis:eje a desplazar hacia atrás, la posición relativa de los otros ejes no cambiarástart:por defecto es cero, lo que significa un desplazamiento completo. Se desplazará a una posición específica.

import numpy as np
 # Creó un ndarray tridimensional
a = np.arange(8).reshape(2,2,2)
 
print ('Array original:')
print (a)
print ('\n')
 # Rolar el eje 2 Rolar el eje 0 (anchura a profundidad)
 
print ('Llamar a la función rollaxis:')
print (np.rollaxis(a,2))
 # Rolar el eje 0 al eje 1:(Anchura a altura)
print ('\n')
 
print ('Llamar a la función rollaxis:')
print (np.rollaxis(a,2,1))

Los resultados de salida son los siguientes:

Array original:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
Llamar a la función rollaxis:
[[[0 2]
  [4 6]]
 [[1 3]
  [5 7]]]
Llamar a la función rollaxis:
[[[0 2]
  [1 3]]
 [[4 6]
  [5 7]]]

numpy.swapaxes

La función numpy.swapaxes se utiliza para intercambiar dos ejes del array, y el formato es el siguiente:

numpy.swapaxes(arr,1,2)

arr:array de entradaaxis1:entero correspondiente al eje primeroaxis2:entero correspondiente al eje segundo

import numpy as np 
 # Creó un ndarray tridimensional
a = np.arange(8).reshape(2,2,2)
 
print ('Array original:')
print (a)
print ('\n')
 # Ahora intercambiar el eje 0 (dirección de profundidad) con el eje 2(Dirección de anchura)
 
print ('El array después de llamar a la función swapaxes:')
print (np.swapaxes(a, 2, 0))

Los resultados de salida son los siguientes:

Array original:
[[[0 1]
  [2 3]]
 [[4 5]
  [6 7]]]
El array después de llamar a la función swapaxes:
[[[0 4]
  [2 6]]
 [[1 5]
  [3 7]]]