¿Cómo invertir el orden de las columnas en una array con Python?

En este artículo, veremos cómo invertir el orden de las columnas de una array en Python.

Ejemplos:

Input: 
arr = [[10,20,30],
       [40,50,60],
       [70,80,90]]
Output:
30 20 10 
60 50 40
90 80 70 

Input:
arr = [[15,30],
       [45,60],
       [75,90],
       [105,120]]
Output:
30 15
60 45
90 75
120 105

Las arrays se crean en python mediante el uso de listas/arrays anidadas. Sin embargo, una forma más eficiente de manejar arreglos en python es la biblioteca NumPy. Para crear arrays usando NumPy, use this o matrix en python una vez que pase por this .

Método 1:

  1. Iterar a través de cada fila
  2. Para cada fila, use la comprensión de lista para invertir la fila (es decir, a[::-1])
  3. Agregue las filas invertidas en una nueva array
  4. Imprime la array

Ejemplo:

Python3

# creating a 3X4 matrix using nested lists
matrix_1 = [['c1', 'c2', 'c3'],
            [10, 20, 30],
            [40, 50, 60],
            [70, 80, 90]]
 
# creating an empty array to store the reversed column matrix
matrix_2 = []
 
# looping through matrix_1 and appending matrix_2
for i in range(len(matrix_1)):
    matrix_2.append(matrix_1[i][::-1])
 
print('Matrix before changing column order:\n')
for rows in matrix_1:
    print(rows)
print('\nMatrix after changing column order:\n')
for rows in matrix_2:
    print(rows)

Producción:

Método 2:

Un objeto de array en NumPy se llama ndarray, que se crea utilizando la función array(). Para invertir el orden de las columnas en una array, usamos el método numpy.fliplr() . El método voltea las entradas en cada fila en la dirección izquierda/derecha. Los datos de la columna se conservan pero aparecen en un orden diferente al anterior.

Sintaxis:  numpy.fliplr(m)

Parámetros: m ( array_like ) – La array de entrada debe ser al menos 2-D.

Valor devuelto: ndarray: se devuelve una vista de m con las columnas invertidas y la complejidad de tiempo de esta operación es O(1).

Ejemplo:

Python3

import numpy as np
 
# creating a numpy array(matrix) with 3-columns and 4-rows
arr = np.array([
    ['c1', 'c2', 'c3'],
    [10, 20, 30],
    [40, 50, 60],
    [70, 80, 90]])
 
# reversing column order in matrix
flipped_arr = np.fliplr(arr)
 
print('Array before changing column order:\n', arr)
print('\nArray after changing column order:\n', flipped_arr)

Producción:

Flipped_arr contiene una array de orden de columnas invertida donde el orden de las columnas ha cambiado de c1,c2,c3 a c3,c2,c1, y los elementos de cada columna permanecen intactos bajo sus respectivos encabezados (c1,c2,c3).

Publicación traducida automáticamente

Artículo escrito por mprerna802 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *