Aprenda a Adicionar e Remover Linhas e Colunas em Pandas
Índice
- Introdução
- Adicionando colunas
- Removendo colunas
- Adicionando linhas
- Removendo linhas
- Conclusão
Adicionando e Removendo Colunas e Linhas em DataFrames
Neste artigo, vamos aprender como adicionar e remover colunas e linhas em DataFrames usando a biblioteca pandas em Python. Manipular DataFrames é uma tarefa comum na análise de dados, e entender como realizar essas operações é essencial para qualquer cientista de dados.
1. Introdução
Antes de mergulharmos nas operações de adicionar e remover colunas e linhas, vamos revisar alguns conceitos básicos. O pandas é uma biblioteca popular para análise de dados em Python, e um DataFrame é uma estrutura de dados bidimensional que possui linhas e colunas. Podemos pensar em um DataFrame como uma tabela, onde as colunas representam as variáveis e as linhas representam as observações.
2. Adicionando Colunas
Adicionar colunas a um DataFrame é uma tarefa simples. Podemos criar uma nova coluna e atribuir a ela uma série de valores desejada. Por exemplo, se quisermos combinar a coluna de nome e sobrenome em uma única coluna chamada "nome completo", podemos fazer o seguinte:
import pandas as pd
# Criando um DataFrame de exemplo
df = pd.DataFrame({'Nome': ['João', 'Maria', 'Carlos'],
'Sobrenome': ['Silva', 'Santos', 'Ribeiro']})
# Adicionando a coluna "Nome Completo"
df['Nome Completo'] = df['Nome'] + ' ' + df['Sobrenome']
print(df)
A saída será:
Nome Sobrenome Nome Completo
0 João Silva João Silva
1 Maria Santos Maria Santos
2 Carlos Ribeiro Carlos Ribeiro
Podemos usar qualquer operação que desejarmos para criar a série de valores que será atribuída à nova coluna. Por exemplo, podemos usar o método apply
para aplicar uma função a uma coluna existente e criar uma nova coluna com base nos resultados. Isso é especialmente útil quando queremos fazer algum tipo de análise matemática com base nos valores de outras colunas.
Vale ressaltar que, ao adicionar uma nova coluna, devemos usar a notação de colchetes ([]
) em vez da notação de ponto (.
). Isso ocorre porque, ao usar a notação de ponto, o Python interpretará erroneamente como atribuir um atributo ao objeto DataFrame, em vez de adicionar uma nova coluna.
3. Removendo Colunas
Remover colunas de um DataFrame também é uma tarefa simples. Podemos usar o método drop
e especificar as colunas que desejamos remover. Por exemplo, se quisermos remover as colunas "Nome" e "Sobrenome" do DataFrame acima, podemos fazer o seguinte:
import pandas as pd
# Criando um DataFrame de exemplo
df = pd.DataFrame({'Nome': ['João', 'Maria', 'Carlos'],
'Sobrenome': ['Silva', 'Santos', 'Ribeiro']})
# Removendo as colunas "Nome" e "Sobrenome"
df = df.drop(columns=['Nome', 'Sobrenome'])
print(df)
A saída será:
Empty DataFrame
Columns: []
Index: [0, 1, 2]
Observe que, por padrão, o método drop
retorna um novo DataFrame com as colunas removidas, mas não modifica o DataFrame original. Se quisermos que as alterações sejam aplicadas permanentemente, podemos usar o argumento inplace=True
.
4. Adicionando Linhas
Existem algumas maneiras diferentes de adicionar linhas a um DataFrame. Primeiro, podemos adicionar uma única linha de novos dados. Podemos fazer isso usando o método append
. Por exemplo, se quisermos adicionar uma nova linha com os valores "Paulo" e "Pereira" ao DataFrame acima, podemos fazer o seguinte:
import pandas as pd
# Criando um DataFrame de exemplo
df = pd.DataFrame({'Nome': ['João', 'Maria', 'Carlos'],
'Sobrenome': ['Silva', 'Santos', 'Ribeiro']})
# Adicionando uma nova linha
nova_linha = pd.DataFrame({'Nome': ['Paulo'],
'Sobrenome': ['Pereira']})
df = df.append(nova_linha, ignore_index=True)
print(df)
A saída será:
Nome Sobrenome
0 João Silva
1 Maria Santos
2 Carlos Ribeiro
3 Paulo Pereira
Observe que estamos usando o argumento ignore_index=True
para que o DataFrame atribua automaticamente um novo índice à nova linha. Caso contrário, o novo índice seria o mesmo da linha original, o que poderia causar conflitos.
Também é possível combinar dois DataFrames em um único DataFrame, anexando as linhas de um ao outro. Isso pode ser útil ao mesclar conjuntos de dados ou adicionar novos dados a um conjunto existente. Por exemplo, se tivermos outro DataFrame chamado df2
com linhas adicionais que desejamos adicionar ao DataFrame original, podemos fazer o seguinte:
import pandas as pd
# Criando um DataFrame de exemplo
df = pd.DataFrame({'Nome': ['João', 'Maria', 'Carlos'],
'Sobrenome': ['Silva', 'Santos', 'Ribeiro']})
# Criando um segundo DataFrame de exemplo
df2 = pd.DataFrame({'Nome': ['Paulo', 'Luísa'],
'Sobrenome': ['Pereira', 'Machado']})
# Adicionando as linhas de df2 em df
df = df.append(df2, ignore_index=True)
print(df)
A saída será:
Nome Sobrenome
0 João Silva
1 Maria Santos
2 Carlos Ribeiro
3 Paulo Pereira
4 Luísa Machado
5. Removendo Linhas
Assim como remover colunas, também podemos remover linhas de um DataFrame. Podemos fazer isso usando o método drop
e especificando os índices das linhas que queremos remover. Por exemplo, se quisermos remover a linha com índice 2 do DataFrame acima, que contém os valores "Carlos" e "Ribeiro", podemos fazer o seguinte:
import pandas as pd
# Criando um DataFrame de exemplo
df = pd.DataFrame({'Nome': ['João', 'Maria', 'Carlos'],
'Sobrenome': ['Silva', 'Santos', 'Ribeiro']})
# Removendo a linha com índice 2
df = df.drop(index=2)
print(df)
A saída será:
Nome Sobrenome
0 João Silva
1 Maria Santos
Também é possível usar uma condição para remover linhas com base em critérios específicos. Por exemplo, se quisermos remover todas as linhas em que o sobrenome seja "Silva", podemos fazer o seguinte:
import pandas as pd
# Criando um DataFrame de exemplo
df = pd.DataFrame({'Nome': ['João', 'Maria', 'Carlos'],
'Sobrenome': ['Silva', 'Santos', 'Ribeiro']})
# Removendo as linhas em que o sobrenome seja "Silva"
df = df.drop(index=df[df['Sobrenome'] == 'Silva'].index)
print(df)
A saída será:
Nome Sobrenome
1 Maria Santos
2 Carlos Ribeiro
Neste exemplo, usamos o método drop
em conjunto com a função index
para remover as linhas cujos sobrenomes são "Silva". Primeiro, filtramos o DataFrame original com base na condição desejada e, em seguida, usamos a função index
para obter os índices das linhas filtradas. Passamos esses índices para o método drop
, que remove as linhas correspondentes.
6. Conclusão
Neste artigo, exploramos as diferentes maneiras de adicionar e remover colunas e linhas em DataFrames usando a biblioteca pandas. Aprendemos a adicionar uma nova coluna atribuindo a ela uma série de valores desejada e a remover colunas usando o método drop
. Também aprendemos a adicionar uma única linha de dados usando o método append
e a combinar dois DataFrames em um único usando o mesmo método. Além disso, vimos como remover linhas específicas com base em índices ou condições usando o método drop
. Ter um bom entendimento dessas operações é fundamental para quem trabalha com análise de dados em Python.
Espero que este artigo tenha sido útil para você. Se você tiver alguma dúvida ou sugestão, não hesite em deixar um comentário abaixo. Obrigado por ler!
Destaques
- O pandas é uma biblioteca popular para análise de dados em Python.
- Um DataFrame é uma estrutura de dados bidimensional que possui linhas e colunas.
- Podemos adicionar colunas a um DataFrame atribuindo a elas uma série de valores desejada.
- Para remover colunas de um DataFrame, usamos o método
drop
.
- Podemos adicionar linhas a um DataFrame usando o método
append
ou anexando um DataFrame a outro.
- Para remover linhas de um DataFrame, usamos o método
drop
novamente.
Perguntas Frequentes
Q: Posso adicionar várias colunas de uma só vez a um DataFrame?
A: Sim, você pode adicionar várias colunas de uma só vez a um DataFrame, desde que as dimensões sejam compatíveis.
Q: Posso adicionar linhas a um DataFrame com base em uma condição?
A: Sim, é possível adicionar linhas a um DataFrame com base em uma condição específica. Você pode usar a função loc
para selecionar as linhas que deseja adicionar e, em seguida, usar o método append
para adicionar as linhas ao DataFrame.
Q: Existe uma maneira fácil de remover todas as linhas de um DataFrame?
A: Sim, você pode usar o método drop
com o argumento index=df.index
para remover todas as linhas de um DataFrame.