terça-feira, 27 de abril de 2021

Redefinir o índice no Dataframe do pandas

Vamos discutir como redefinir o índice no DataFrame do pandas. Frequentemente, começamos com um grande dataframe no pandas e depois de manipular/filtrar o dataframe, terminamos com um dataframe muito menor.

Quando olhamos para o dataframe menor, ele ainda pode carregar o índice de linha do dataframe original. Se o índice original são números, agora temos índices que não são contínuos. Bem, os pandas têm o método reset_index(). Portanto, para redefinir o índice para o índice inteiro padrão começando em 0, podemos simplesmente usar o método reset_index().

Portanto, vamos ver as diferentes maneiras de redefinir o índice de um DataFrame.

Primeiro, veja o DataFrame original.

import pandas as pd

# Defina um dicionário contendo dados de funcionários
data = {
    'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj', 'Geeku'],
    'Age': [27, 24, 22, 32, 15],
    'Address': ['Delhi', 'Kanpur', 'Allahabad', 'Kannauj', 'Noida'],
    'Qualification': ['Msc', 'MA', 'MCA', 'Phd', '10th']
}

# Criando um dataframe a partir de um dicionário
df = pd.DataFrame(data)

print(df)

Saída:

     Name  Age    Address Qualification
0     Jai   27      Delhi           Msc
1  Princi   24     Kanpur            MA
2  Gaurav   22  Allahabad           MCA
3    Anuj   32    Kannauj           Phd
4   Geeku   15      Noida          10th

Exemplo #1: Faça o próprio índice sem remover o índice padrão.

import pandas as pd

# Defina um dicionário contendo dados de funcionários
data = {
    'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj', 'Geeku'],
    'Age': [27, 24, 22, 32, 15],
    'Address': ['Delhi', 'Kanpur', 'Allahabad', 'Kannauj', 'Noida'],
    'Qualification': ['Msc', 'MA', 'MCA', 'Phd', '10th']
}

index = {'a', 'b', 'c', 'd', 'e'}

# Criando um dataframe a partir de um dicionário
df = pd.DataFrame(data, index)

# Faça o próprio índice como índice
# Neste caso, o índice padrão existe
df.reset_index(inplace=True)

print(df)

Saída:

  index    Name  Age    Address Qualification
0     d     Jai   27      Delhi           Msc
1     a  Princi   24     Kanpur            MA
2     e  Gaurav   22  Allahabad           MCA
3     c    Anuj   32    Kannauj           Phd
4     b   Geeku   15      Noida          10th

Exemplo #2: Faça o próprio índice e removendo o índice padrão.

import pandas as pd

# Defina um dicionário contendo dados de funcionários
data = {
    'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj', 'Geeku'],
    'Age': [27, 24, 22, 32, 15],
    'Address': ['Delhi', 'Kanpur', 'Allahabad', 'Kannauj', 'Noida'],
    'Qualification': ['Msc', 'MA', 'MCA', 'Phd', '10th']
}

index = {'a', 'b', 'c', 'd', 'e'}

# Criando um dataframe a partir de um dicionário
# Faça o próprio índice e remova o índice padrão
df = pd.DataFrame(data, index)

print(df)

Saída:

     Name  Age    Address Qualification
b     Jai   27      Delhi           Msc
a  Princi   24     Kanpur            MA
e  Gaurav   22  Allahabad           MCA
d    Anuj   32    Kannauj           Phd
c   Geeku   15      Noida          10th

Exemplo #3: redefina o próprio índice e torne o índice padrão como índice.

import pandas as pd

# Defina um dicionário contendo dados de funcionários
data = {
    'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj', 'Geeku'],
    'Age': [27, 24, 22, 32, 15],
    'Address': ['Delhi', 'Kanpur', 'Allahabad', 'Kannauj', 'Noida'],
    'Qualification': ['Msc', 'MA', 'MCA', 'Phd', '10th']
}

index = {'a', 'b', 'c', 'd', 'e'}

# Criando um dataframe a partir de um dicionário
# Faça o próprio índice e remova o índice padrão
df = pd.DataFrame(data, index)

# remover o próprio índice com o índice padrão
df.reset_index(inplace=True, drop=True)

print(df)

Saída:

     Name  Age    Address Qualification
0     Jai   27      Delhi           Msc
1  Princi   24     Kanpur            MA
2  Gaurav   22  Allahabad           MCA
3    Anuj   32    Kannauj           Phd
4   Geeku   15      Noida          10th

Exemplo #4: Faça uma coluna de dataframe como índice com a remoção do índice padrão.

import pandas as pd

# Defina um dicionário contendo dados de funcionários
data = {
    'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj', 'Geeku'],
    'Age': [27, 24, 22, 32, 15],
    'Address': ['Delhi', 'Kanpur', 'Allahabad', 'Kannauj', 'Noida'],
    'Qualification': ['Msc', 'MA', 'MCA', 'Phd', '10th']
}

index = {'a', 'b', 'c', 'd', 'e'}

# Criando um dataframe a partir de um dicionário
# Faça o próprio índice e remova o índice padrão
df = pd.DataFrame(data, index)

# definir o índice de qualquer coluna do nosso dataframe e remover o índice padrão
df.set_index(['Age'], inplace=True)

print(df)

Saída:

       Name    Address Qualification
Age
27      Jai      Delhi           Msc
24   Princi     Kanpur            MA
22   Gaurav  Allahabad           MCA
32     Anuj    Kannauj           Phd
15    Geeku      Noida          10th

Exemplo #5: Faça uma coluna de dataframe como índice sem remover o índice padrão.

import pandas as pd

# Defina um dicionário contendo dados de funcionários
data = {
    'Name': ['Jai', 'Princi', 'Gaurav', 'Anuj', 'Geeku'],
    'Age': [27, 24, 22, 32, 15],
    'Address': ['Delhi', 'Kanpur', 'Allahabad', 'Kannauj', 'Noida'],
    'Qualification': ['Msc', 'MA', 'MCA', 'Phd', '10th']
}

index = {'a', 'b', 'c', 'd', 'e'}

# Criando um dataframe a partir de um dicionário
# Faça o próprio índice e remova o índice padrão
df = pd.DataFrame(data, index)

# definir o índice de qualquer coluna do nosso dataframe e remover o índice padrão
df.set_index(['Age'], inplace=True)

# redefinir o índice sem remover o índice padrão
df.reset_index(level=['Age'], inplace=True)

print(df)

Saída:

   Age    Name    Address Qualification
0   27     Jai      Delhi           Msc
1   24  Princi     Kanpur            MA
2   22  Gaurav  Allahabad           MCA
3   32    Anuj    Kannauj           Phd
4   15   Geeku      Noida          10th

Artigo escrito por Rajput-Ji e traduzido por Acervolima de Reset Index in Pandas Dataframe.

Licença

0 comentários:

Postar um comentário