Establecer columnas como índice en Pandas Dataframe

  1. Usando set_index() para hacer la columna como el índice en Pandas DataFrame
  2. Usando el parámetro index_col en read_excel o read_csv para establecer la columna como el índice en Pandas DataFrame

Normalmente, en un Pandas DataFrame, tenemos números de serie desde 0 hasta la longitud del objeto como índice por defecto. También podemos hacer que una columna específica de un dataframe sea su índice. Para ello, podemos usar el set_index() proporcionado en pandas, y también podemos especificar el índice de la columna mientras importamos un dataframe de un archivo excel o CSV.

Usando set_index() para hacer la columna como el índice en Pandas DataFrame

set_index() puede aplicarse a listas, series o cuadros de datos para alterar su índice. Para los Dataframes, set_index() también puede hacer múltiples columnas como su índice.

Ejemplo:

import pandas as pd
import numpy as np

colnames = ['Name','Time','Course']
df = pd.DataFrame([['Jay',10,'B.Tech'],
                   ['Raj',12,'BBA'],
                   ['Jack',11,'B.Sc']], columns = colnames)

print(df)

Resultado:

   Name  Time  Course
0   Jay    10  B.Tech
1   Raj    12     BBA
2  Jack    11    B.Sc

La sintaxis para hacer columnas como índice:

dataframe.set_index(Column_name,inplace = True)

Hacer una sola columna como índice usando set_index():

import pandas as pd
import numpy as np

colnames = ['Name','Time','Course']
df = pd.DataFrame([['Jay',10,'B.Tech'],
                   ['Raj',12,'BBA'],
                   ['Jack',11,'B.Sc']], columns = colnames)

df.set_index('Name', inplace = True)

print(df)

Resultado:

      Time  Course
Name              
Jay     10  B.Tech
Raj     12     BBA
Jack    11    B.Sc

Hacer varias columnas como índice:

import pandas as pd
import numpy as np

colnames = ['Name','Time','Course']
df = pd.DataFrame([['Jay',10,'B.Tech'],
                   ['Raj',12,'BBA'],
                   ['Jack',11,'B.Sc']], columns = colnames)

df.set_index(['Name','Course'], inplace = True)

print(df)

Resultado:

             Time
Name Course      
Jay  B.Tech    10
Raj  BBA       12
Jack B.Sc      11

Usando el parámetro index_col en read_excel o read_csv para establecer la columna como el índice en Pandas DataFrame

Mientras leemos un dataframe de un archivo excel o CSV, podemos especificar la columna que queremos como el índice del DataFrame.

Ejemplo:

import pandas as pd
import numpy as np
df = pd.read_excel("data.xlsx",index_col = 2)
print(df)

Resultado:

        Name  Time
Course            
B.Tech  Mark    12
BBA     Jack    10
B.Sc     Jay    11

Artículo relacionado - Pandas DataFrame

  • Restar dos columnas de un Pandas DataFrame
  • Cómo añadir una fila de encabezamiento a un Pandas DataFrame