¿Cómo ordenar columnas por nombre en pandas?

Actualizado por ultima vez 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/

I’m a Bachelor of Economics gratuaded from the National University of San Agustin. I have experience in Python, R and other languages with aplications in Finance or Econometrics, I also have knowledge of statistics and econometrics. If you need help on some issues you can write to me.

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!