HOWTO · Pandas
Definir Colunas como Índice em Pandas Dataframe
Este tutorial demonstra como definir colunas como o índice numa Pandas DataFrame com função set_index() e utilizando o parâmetro index_col ao ler um ficheiro.
Nesta página
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