Definir Colunas como Índice em Pandas Dataframe

Manav Narula 30 janeiro 2023 6 fevereiro 2021
  1. Utilize set_index() para fazer a coluna como o índice em Pandas DataFrame
  2. Utilize o parâmetro index_col em read_excel ou read_csv para definir a coluna como índice em Pandas DataFrame
Definir Colunas como Índice em Pandas Dataframe

Normalmente, num Pandas DataFrame, temos números de série de 0 até ao comprimento do objecto como índice por defeito. Podemos também fazer uma coluna específica de um dataframe como o seu índice. Para isso, podemos utilizar o set_index() fornecido em pandas, e podemos também especificar o índice da coluna ao importar um dataframe a partir de um ficheiro excel ou CSV.

Utilize set_index() para fazer a coluna como o índice em Pandas DataFrame

set_index() pode ser aplicado a listas, séries, ou dataframes para alterar o seu índice. Para Dataframes, set_index() pode também fazer múltiplas colunas como o seu índice.

Exemplo:

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

A sintaxe para fazer colunas como índice:

dataframe.set_index(Column_name,inplace = True)

Fazer uma única coluna como índice utilizando 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

Fazer múltiplas colunas 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

Utilize o parâmetro index_col em read_excel ou read_csv para definir a coluna como índice em Pandas DataFrame

Ao ler um dataframe de um ficheiro Excel ou CSV, podemos especificar a coluna que queremos como índice do DataFrame.

Exemplo:

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
Author: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Pandas DataFrame