Skip to content
Tutoriais
Pandas
Adicionando linhas a um DataFrame do Pandas: Um guia passo a passo

Adicionando linhas a um DataFrame do Pandas: um guia passo a passo

Em projetos de análise de dados e machine learning, você frequentemente precisa adicionar novas observações a um DataFrame do Pandas. Se você está lidando com dados de pesquisa, leituras de sensores ou registros de comportamento do usuário, deve ser capaz de anexar novas linhas a um DataFrame existente de forma eficiente. O Pandas, uma biblioteca popular de manipulação de dados em Python, oferece vários métodos para adicionar linhas a um DataFrame. Neste tutorial, exploraremos três deles: .loc, .append e .concat. Vamos mergulhar.

Quer criar rapidamente visualizações de dados em Python?

O PyGWalker é um projeto de código aberto em Python que pode ajudar a acelerar o fluxo de trabalho de análise e visualização de dados diretamente em ambientes baseados em Jupyter Notebook.

PyGWalker (opens in a new tab) transforma seu DataFrame do Pandas (ou Polars) em uma UI visual onde você pode arrastar e soltar variáveis ​​para criar gráficos com facilidade. Basta usar o seguinte código:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Você pode executar o PyGWalker agora mesmo com esses notebooks online:

E não se esqueça de nos dar uma ⭐️ no GitHub!

Execute o PyGWalker em um Notebook do Kaggle (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Dê uma ⭐️ no GitHub (opens in a new tab)
Execute o PyGWalker em um Notebook do Kaggle (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)Execute o PyGWalker no Google Colab (opens in a new tab)

Adicionando uma linha usando o método .loc

O método .loc no Pandas permite selecionar um subconjunto de um DataFrame com base em seus rótulos. Você também pode usá-lo para adicionar uma nova linha ao DataFrame. Veja como:

import pandas as pd
 
# criando um dataframe de amostra
df = pd.DataFrame({
   'Nome': ['John', 'Sara', 'Tim'],
   'Idade': [25, 34, 41],
   'Cidade': ['Nova York', 'Londres', 'Paris']
})
 
# adicionando uma nova linha usando .loc
df.loc[3] = ['Anna', 29, 'Berlim']
 
print(df)

No código acima, primeiro criamos um DataFrame df com três linhas e três colunas. Em seguida, usamos o método .loc e especificamos um índice de linha de 3. Finalmente, fornecemos uma lista de valores para a nova linha.

Saída:

   Nome  Idade       Cidade
0  John   25   Nova York
1  Sara   34     Londres
2   Tim   41      Paris
3  Anna   29     Berlim

Observe que o índice da nova linha é 3, o que significa que ela será adicionada após a última linha do DataFrame. Você também pode usar .loc para inserir uma linha em uma localização específica, especificando o rótulo da linha. Por exemplo, para inserir uma nova linha após a segunda linha do DataFrame, você pode fazer:

# inserindo uma nova linha após a segunda linha
df.loc[2.5] = ['Peter', 37, 'Los Angeles']
 
print(df)

Saída:

    Nome  Idade        Cidade
0   John     25     Nova York
1   Sara     34       Londres
2    Tim     41        Paris
2.5 Peter    37  Los Angeles
3   Anna     29        Berlim

Aqui, inserimos a nova linha após o rótulo 2 usando um rótulo de 2.5. O Pandas reordena automaticamente os rótulos de linha para mantê-los em ordem crescente.

Adicionando uma linha usando o método .append

O método .append no Pandas permite combinar dois DataFrames verticalmente. Você pode usá-lo para adicionar uma nova linha a um DataFrame passando a um DataFrame com uma única linha para o método .append. Aqui está um exemplo:

# criando uma nova linha como dataframe
nova_linha = pd.DataFrame({
   'Nome': ['Julia'],
   'Idade': [31],
   'Cidade': ['Tóquio']
})
 
# usando .append para adicionar a nova linha
df = df.append(nova_linha, ignore_index=True)
 
print(df)

Saída:

    Nome  Idade       Cidade
0   John     25   Nova York
1   Sara     34     Londres
2    Tim     41      Paris
3   Anna     29     Berlim
4  Julia     31       Tóquio

No código acima, primeiro criamos um novo DataFrame `new_row` com uma única linha de dados. Em seguida, usamos o método `.append` e passamos `new_row` como argumento. O parâmetro `ignore_index=True` informa ao Pandas para reindexar o DataFrame de 0 a 4.

## Adicionando várias linhas usando o método .concat

O método `.concat` no Pandas permite concatenar dois DataFrames ao longo de um eixo especificado. Você pode usá-lo para adicionar várias linhas a um DataFrame passando uma lista de DataFrames para o método `.concat`. Veja como você pode adicionar duas novas linhas ao DataFrame `df` usando o `.concat`.

```python
# criando duas novas linhas como dataframes
novas_linhas = [pd.DataFrame({
   'Nome': ['Maria', 'Adam'],
   'Idade': [27, 45],
   'Cidade': ['Sydney', 'Toronto']}), 
]

# usando .concat para adicionar as novas linhas
df = pd.concat([df] + novas_linhas, ignore_index=True)

print(df)

Output:

    Nome   Idade        Cidade
0   John    25    Nova Iorque
1   Sara    34       Londres
2    Tim    41         Paris
3   Anna    29        Berlim
4  Maria    27        Sydney
5   Adam    45       Toronto

No código acima, primeiro criamos dois novos DataFrames novas_linhas. Em seguida, os passamos como lista para o método .concat junto com o df. O parâmetro ignore_index=True reordena o índice de 0 a 5.

Conclusão

Neste tutorial, exploramos três métodos diferentes para adicionar novas linhas a um DataFrame do Pandas em Python: .loc, .append e .concat. Cada método tem suas vantagens e desvantagens, dependendo da situação. O método .loc é útil quando você quer adicionar uma única linha em uma localização específica. O método .append é uma maneira simples de adicionar uma única linha ao final de um DataFrame. O método .concat é ideal quando você deseja adicionar várias linhas ao mesmo tempo. Conhecer esses métodos ajudará você a manipular DataFrames de forma eficiente e eficaz em seus projetos de análise de dados e machine learning. Boa codificação!