Anexar Dict ao DataFrame no Pandas

Anexar Dict Ao Dataframe No Pandas



Discutiremos como anexar um dicionário ao DataFrame existente do Pandas usando as funções pandas.DataFrame.append() e pandas.concat() com exemplos. Aqui, o dicionário se refere ao par chave:valor de forma que a chave se refira aos rótulos de coluna existentes que estão presentes no DataFrame e os valores são adicionados em uma linha. Além disso, veremos os exemplos que acrescentam vários dicionários ao Pandas DataFrame.

Usando Pandas.DataFrame.Append

A função pandas.DataFrame.append() é usada para anexar as linhas de outro DataFrame ao DataFrame existente. Se as colunas no DataFrame existente não existirem, as outras colunas do DataFrame serão criadas no DataFrame existente. Use esta função de forma que a linha seja inserida no DataFrame anexando o dicionário.

Sintaxe :







A seguir está a sintaxe real da função pandas.DataFrame.append():



pandas. Quadro de dados . acrescentar ( outro , ignorar_index , verificar_integridade , organizar )
  1. outro : refere-se a outro DataFrame no qual as linhas deste DataFrame são anexadas ao DataFrame existente. Se quiser acrescentar uma única linha, você precisa passar um dicionário de valores como parâmetro.
  2. ignorar_index (por padrão = False): Este parâmetro é utilizado quando você está anexando linhas ao DataFrame que já possui linhas. Se for “False”, os índices das linhas existentes também serão anexados. Se for “True”, as linhas serão rotuladas de 0 a n-1. Certifique-se de que este parâmetro esteja definido como “True” ao anexar um dicionário ao DataFrame. Caso contrário, um tipo de erro é gerado – “TypeError: Só pode anexar um dict se ignore_index=True”.
  3. Podemos verificar os índices duplicados usando o parâmetro verify_integrity (por padrão = False). Se os índices estiverem duplicados e verify_integrity estiver definido como “True”, ele retornará “ValueError: Os índices têm valores sobrepostos”.
  4. É possível ordenar as colunas se as colunas do DataFrame existente e de outro DataFrame não estiverem alinhadas usando o parâmetro sort definindo-o como “True” (por padrão = False).

Exemplo 1: anexar um único dicionário

Crie um DataFrame Pandas com quatro colunas – “Campaign_Name”, “Location”, “StartDate” e “Budget” – e três linhas. Anexe um dicionário a este DataFrame.



importar pandas

# Criar DataFrame – Campanha com 4 colunas e 3 linhas
Campanha = pandas. Quadro de dados ( [ [ 'Acampamento de Marketing' , 'Índia' , '01/12/2023' , 8.000 ] ,
[ 'Acampamento de Vendas' , 'Itália' , '25/01/2022' , 10.000 ] ,
[ 'Outro acampamento' , 'EUA' , '17/04/2023' , 2000 ] ] ,
colunas = [ 'Nome da campanha' , 'Localização' , 'Data de início' , 'Orçamento' ] )
imprimir ( Campanha , ' \n ' )

# Anexar linha única
Campanha = Campanha. acrescentar ( { 'Nome da campanha' : 'Acampamento Técnico' , 'Localização' : 'EUA' , 'Data de início' : '12/05/2023' , 'Orçamento' : 2000 } , ignorar_index = Verdadeiro )
imprimir ( Campanha , ' \n ' )

Saída :





Podemos ver que o dicionário está anexado ao DataFrame “Campaign”. O índice desta nova linha é 3, pois o índice é ignorado.



Exemplo 2: anexar vários dicionários

Use o mesmo DataFrame criado no Exemplo 1 e anexe três linhas por vez usando a função pandas.DataFrame.append(). Defina o parâmetro ignore_index como “True”.

importar pandas

# Criar DataFrame – Campanha com 4 colunas e 3 linhas
Campanha = pandas. Quadro de dados ( [ [ 'Acampamento de Marketing' , 'Índia' , '01/12/2023' , 8.000 ] ,
[ 'Acampamento de Vendas' , 'Itália' , '25/01/2022' , 10.000 ] ,
[ 'Outro acampamento' , 'EUA' , '17/04/2023' , 2000 ] ] ,
colunas = [ 'Nome da campanha' , 'Localização' , 'Data de início' , 'Orçamento' ] )
imprimir ( Campanha , ' \n ' )

Campanha = Campanha. acrescentar ( { 'Nome da campanha' : 'Acampamento Técnico' , 'Localização' : 'EUA' , 'Data de início' : '12/05/2023' , 'Orçamento' : 2000 } , ignorar_index = Verdadeiro )
Campanha = Campanha. acrescentar ( { 'Nome da campanha' : 'Acampamento de marketing' , 'Localização' : 'Índia' , 'Data de início' : '23/06/2023' , 'Orçamento' : 9.000 } , ignorar_index = Verdadeiro )
Campanha = Campanha. acrescentar ( { 'Nome da campanha' : 'Acampamento de vendas' , 'Localização' : 'Itália' , 'Data de início' : '24/01/2023' , 'Orçamento' : 1200 } , ignorar_index = Verdadeiro )
imprimir ( Campanha )

Saída :

Três linhas são anexadas uma após a outra com 3, 4 e 5 índices ao DataFrame existente.

Usando Pandas.Concat

A função pandas.concat() concatena dois ou mais DataFrames ao longo das linhas ou colunas. Então, precisamos transformar o dicionário em DataFrame e passar dois DataFrames para esta função.

Sintaxe :

Anexe um dicionário ao DataFrame existente:

pandas. concat ( [ Existente_DataFrame , Dicionário_Transformado ] , eixo = 0 , ignorar_index , verificar_integridade )
  1. Se eixo = 0, a concatenação é feita ao longo das linhas. A concatenação é feita ao longo das colunas se estiver definida Aplicada a capitalização necessária por se tratar de um subtítulo. Adicionado artigo necessário para brevidade.to 1.
  2. O ignore_index (por padrão = False): Este parâmetro é utilizado quando você está anexando as linhas ao DataFrame que já possui linhas. Se for “False”, os índices das linhas existentes também serão anexados. Se for “True”, as linhas serão rotuladas de 0 a n-1.
  3. Podemos verificar os índices duplicados usando o parâmetro verify_integrity (por padrão = False). Se os índices estiverem duplicados e verify_integrity estiver definido como “True”, ele retornará “ValueError: Os índices têm valores sobrepostos”.

Exemplo 1: anexar um único dicionário

Crie um DataFrame Pandas com quatro colunas – “Campaign_Name”, “Location”, “StartDate” e “Budget” – e três linhas. Usando a função pandas.concat(), anexe um dicionário (DataFrame) como uma linha a este DataFrame.

importar pandas


# Criar DataFrame – Campanha com 4 colunas e 3 linhas
Campanha = pandas. Quadro de dados ( [ [ 'Acampamento de Marketing' , 'Índia' , '01/12/2023' , 8.000 ] ,
[ 'Acampamento de Vendas' , 'Itália' , '25/01/2022' , 10.000 ] ,
[ 'Outro acampamento' , 'EUA' , '17/04/2023' , 2000 ] ] ,
colunas = [ 'Nome da campanha' , 'Localização' , 'Data de início' , 'Orçamento' ] )
imprimir ( Campanha , ' \n ' )

dicionário_from_DataFrame = pandas. Quadro de dados ( [ { 'Nome da campanha' : 'Acampamento de Serviço' , 'Localização' : 'EUA' , 'Data de início' : '17/04/2023' , 'Orçamento' : 1000 } ] )

# Anexar linha única
Campanha = pandas. concat ( [ Campanha , dicionário_from_DataFrame ] , eixo = 0 )
imprimir ( Campanha , ' \n ' )

Saída :

Podemos ver que o dicionário está anexado ao DataFrame “Campaign”. O índice desta nova linha é 0, pois o índice não é ignorado.

Exemplo 2: anexar vários dicionários

Use o DataFrame anterior e anexe três dicionários (DataFrame) ignorando o índice.

importar pandas


# Criar DataFrame – Campanha com 4 colunas e 3 linhas
Campanha = pandas. Quadro de dados ( [ [ 'Acampamento de Marketing' , 'Índia' , '01/12/2023' , 8.000 ] ,
[ 'Acampamento de Vendas' , 'Itália' , '25/01/2022' , 10.000 ] ,
[ 'Outro acampamento' , 'EUA' , '17/04/2023' , 2000 ] ] ,
colunas = [ 'Nome da campanha' , 'Localização' , 'Data de início' , 'Orçamento' ] )
imprimir ( Campanha , ' \n ' )

dicionário_from_DataFrame = pandas. Quadro de dados ( [ { 'Nome da campanha' : 'Acampamento Tecnológico' , 'Localização' : 'EUA' , 'Data de início' : '17/05/2023' , 'Orçamento' : 1000 } ,
{ 'Nome da campanha' : 'Serviços sociais' , 'Localização' : 'Japão' , 'Data de início' : '17/04/2023' , 'Orçamento' : 200 } ,
{ 'Nome da campanha' : 'Acampamento de Vendas' , 'Localização' : 'EUA' , 'Data de início' : '18/04/2023' , 'Orçamento' : 500 } ] )

#Anexar várias linhas
Campanha = pandas. concat ( [ Campanha , dicionário_from_DataFrame ] , eixo = 0 , ignorar_index = Verdadeiro )
imprimir ( Campanha , ' \n ' )

Saída :

Podemos ver que três dicionários são anexados ao DataFrame “Campaign”. Os índices desses dicionários são 3, 4 e 5, pois o parâmetro ignore_index está definido como “False”.

Conclusão

Os dicionários únicos/múltiplos são anexados ao DataFrame usando as funções pandas.DataFrame.append() e pandas.concat(). Os índices das novas linhas podem ser únicos definindo o parâmetro ignore_index como “True” na função pandas.concat(). Ao usar a função pandas.DataFrame.append(), defina o parâmetro ignore_index como “True”. Caso contrário, TypeError será gerado.