Vamos discutir como adicionar novas colunas ao DataFrame existente no Pandas. Existem várias maneiras de fazermos essa tarefa.
Método #1: Declarando uma nova lista como uma coluna.
# Importa o módulo pandas
import pandas as pd
# Defina um dicionário contendo dados de Alunos
data = {
'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
'Altura': [5.1, 6.2, 5.1, 5.2],
'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
}
# Converta o dicionário em DataFrame
df = pd.DataFrame(data)
# Declare uma lista que deve ser convertida em uma coluna
address = ['Delhi', 'Bangalore', 'Chennai', 'Patna']
# Usando 'Address' como o nome da coluna
# e igualando-o à lista
df['Address'] = address
# observe o resultado
print(df)
Resultado:
Nome Altura Qualificação Address
0 Jai 5.1 Msc Delhi
1 Princi 6.2 MA Bangalore
2 Gaurav 5.1 Msc Chennai
3 Anuj 5.2 Msc Patna
Observe que o comprimento da sua lista deve corresponder ao comprimento da coluna do índice, caso contrário, ele mostrará um erro.
Método #2: usando DataFrame.insert()
Isso dá a liberdade de adicionar uma coluna em qualquer posição que quisermos e não apenas no final. Ele também fornece opções diferentes para inserir os valores da coluna.
# Importa o módulo pandas
import pandas as pd
# Defina um dicionário contendo dados de Alunos
data = {
'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
'Altura': [5.1, 6.2, 5.1, 5.2],
'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
}
# Converta o dicionário em DataFrame
df = pd.DataFrame(data)
# Usando DataFrame.insert() para adicionar uma coluna
df.insert(2, "Idade", [21, 23, 24, 21], True)
# observe o resultado
print(df)
Resultado:
Nome Altura Idade Qualificação
0 Jai 5.1 21 Msc
1 Princi 6.2 23 MA
2 Gaurav 5.1 24 Msc
3 Anuj 5.2 21 Msc
Método #3: Usando o método Dataframe.assign()
Este método criará um novo dataframe com uma nova coluna adicionada ao antigo dataframe.
# Importa o módulo pandas
import pandas as pd
# Defina um dicionário contendo dados de Alunos
data = {
'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
'Altura': [5.1, 6.2, 5.1, 5.2],
'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
}
# Converta o dicionário em DataFrame
df = pd.DataFrame(data)
# Usando 'endereço' como o nome da coluna e igualando-a à lista
df2 = df.assign(endereço = ['Delhi', 'Bangalore', 'Chennai', 'Patna'])
# observe o resultado
print(df2)
Resultado:
Nome Altura Qualificação endereço
0 Jai 5.1 Msc Delhi
1 Princi 6.2 MA Bangalore
2 Gaurav 5.1 Msc Chennai
3 Anuj 5.2 Msc Patna
Método #4: usando um dicionário
Podemos usar um dicionário Python para adicionar uma nova coluna no DataFrame do pandas. Use uma coluna existente como os valores-chave e seus respectivos valores serão os valores da nova coluna.
# Importa o módulo pandas
import pandas as pd
# Defina um dicionário contendo dados de Alunos
data = {
'Nome': ['Jai', 'Princi', 'Gaurav', 'Anuj'],
'Altura': [5.1, 6.2, 5.1, 5.2],
'Qualificação': ['Msc', 'MA', 'Msc', 'Msc']
}
# Converta o dicionário em DataFrame
df = pd.DataFrame(data)
# Defina um dicionário com os valores-chave de
# uma coluna existente e seus respectivos
# pares de valores como os valores para nossa nova coluna.
endereço = {
'Delhi': 'Jai', 'Bangalore': 'Princi',
'Patna': 'Gaurav', 'Chennai': 'Anuj'
}
# Converta o dicionário em DataFrame
df = pd.DataFrame(data)
# Forneça 'Endereço' como o nome da coluna
df['Endereço'] = endereço
# Observe a saída
print(df)
Resultado:
Nome Altura Qualificação Endereço
0 Jai 5.1 Msc Delhi
1 Princi 6.2 MA Bangalore
2 Gaurav 5.1 Msc Patna
3 Anuj 5.2 Msc Chennai
Artigo escrito por Chaitanya Tyagi e traduzido por Acervo Lima de Adding new column to existing DataFrame in Pandas