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:
- Iterar a través de cada fila
- Para cada fila, use la comprensión de lista para invertir la fila (es decir, a[::-1])
- Agregue las filas invertidas en una nueva array
- 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