¿Cómo ordenar columnas por nombre en pandas?

Actualizado el 27 de abril de 2023, por Dereck Amesquita.

Puede usar la siguiente sintaxis para ordenar rápidamente un DataFrame de pandas por nombres de columna:

df = df[['column1', 'column4', 'column3', 'column2']]

Los siguientes ejemplos muestran cómo utilizar esta sintaxis en la práctica. El ejemplo 3 es el mas automático, nos ayudara a ordenar alfabeticamente mediante sorted.

Ejemplo 1: ordenar Pandas DataFrame por nombres de columna

El siguiente código muestra cómo ordenar un DataFrame de pandas por nombres de columna:

import pandas as pd

# Creamos el dataframe
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
                   'steals': [2, 3, 3, 2, 5, 3, 2, 1]})

# Mostramos una lista de las columnas del dataframe
list(df)

['points', 'assists', 'rebounds', 'steals']

# Ordenamos las columnas por su nombre segun la preferencia que nosotros tengamos
df = df[['steals', 'assists', 'rebounds', 'points']]

df

	steals	assists	rebounds  points
0	2	5	11	  25
1	3	7	8	  12
2	3	7	10	  15
3	2	9	6	  14
4	5	12	6	  19
5	3	9	5	  23
6	2	9	9	  25
7	1	4	12	  29

Ejemplo 2: ordenar Pandas DataFrame por lista

El siguiente código muestra cómo ordenar un DataFrame de pandas por una lista de nombres:

import pandas as pd

# Creamos dataframe
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
                   'steals': [2, 3, 3, 2, 5, 3, 2, 1]})

# Definimos una lista de nombres
name_order = ['steals', 'assists', 'rebounds', 'points']

# Ordenamos mediante la lista que ya hemos definido
df = df[name_order]

df

	steals	assists	rebounds  points
0	2	5	11	  25
1	3	7	8	  12
2	3	7	10	  15
3	2	9	6	  14
4	5	12	6	  19
5	3	9	5	  23
6	2	9	9	  25
7	1	4	12	  29

Ejemplo 3: ordenar el DataFrame de Pandas alfabéticamente (automático)

El siguiente código muestra cómo ordenar un DataFrame de pandas alfabéticamente:

import pandas as pd

# Creamos el dataframe
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12],
                   'steals': [2, 3, 3, 2, 5, 3, 2, 1]})

# Usamos sorted
df = df[sorted(df.columns)]

df

	assists	points	rebounds  steals
0	5	25	11	  2
1	7	12	8	  3
2	7	15	10	  3
3	9	14	6	  2
4	12	19	6	  5
5	9	23	5	  3
6	9	25	9	  2
7	4	29	12	  1

Recursos adicionales

Cómo ordenar un DataFrame de Pandas por fecha
Cómo encontrar valores únicos en una columna de Pandas

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

La pseudorreplicación es un problema común que ocurre en los estudios estadísticos. En este artículo compartimos lo siguiente: Una explicación…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!