Skip to content

Como deletar uma coluna em um DataFrame Pandas

Updated on

Como cientista de dados, uma das operações mais comuns que você realiza é manipulação de dados em um DataFrame. Uma das tarefas comuns que surgem no fluxo de processamento de dados é a remoção de colunas que não são necessárias para a análise. Neste tutorial, veremos como deletar uma coluna em um DataFrame Pandas. Vamos cobrir diferentes métodos de remoção de colunas com base no nome da coluna, índice e várias colunas.

Quer criar visualizações de dados a partir de um Pandas DataFrame Python sem código?

PyGWalker é uma biblioteca Python para Análise Exploratória de Dados com Visualização. PyGWalker (opens in a new tab) pode simplificar sua análise de dados e fluxo de trabalho de visualização de dados em seu Jupyter Notebook, transformando seu dataframe pandas (e dataframe de polars) em uma Interface de Usuário estilo Tableau para exploração visual.

PyGWalker para Visualização de Dados (opens in a new tab)

Visão geral do DataFrame Pandas

Antes de entrar em detalhes sobre a remoção de colunas, vamos ter uma visão geral do DataFrame Pandas.

Um DataFrame Pandas é uma estrutura de dados bidimensional semelhante a uma tabela com linhas e colunas. Cada coluna em um DataFrame é uma série. Uma série é uma estrutura de dados unidimensional que contém uma matriz de valores com um rótulo chamado índice. Além disso, um DataFrame pode ter índices de linha e coluna para acesso rápido e eficiente aos dados.

O DataFrame Pandas é uma ferramenta poderosa para manipular e lidar com dados em Python. Ele permite realizar análise de dados complexas, limpeza de dados, transformação de dados e tarefas de visualização de dados.

Deletando uma coluna em um DataFrame Pandas

Agora vamos começar o processo de exclusão de uma coluna em um DataFrame Pandas. Existem várias maneiras de remover uma coluna em um DataFrame, dependendo do requisito. Vamos dar uma olhada em alguns dos métodos populares abaixo.

Excluindo uma coluna usando o método drop

O método mais fácil para remover uma coluna de um DataFrame é usando o método drop. Você pode usar o método drop com o parâmetro axis=1 para indicar que você deseja remover uma coluna.

# criando um DataFrame de exemplo
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['Nova York', 'Paris', 'Londres', 'Tóquio']}
df = pd.DataFrame(data)
# excluindo a coluna 'city'
df = df.drop('city', axis=1)
print(df.head())

Saída:

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

No exemplo acima, criamos um DataFrame de exemplo com três colunas nomeadas name, age e city. Usamos o método drop com o parâmetro axis=1 para remover a coluna city. Em seguida, imprimimos o DataFrame atualizado que tem apenas duas colunas, name e age.

. Não traduza códigos que começam com import. Se houver uma frontmatter, traduza o conteúdo na frontmatter, não os parâmetros. Se houver um componente jsonld, certifique-se de traduzir o conteúdo json-ld também.

Removendo uma coluna usando o método Subsetting

Outra maneira de remover uma coluna de um DataFrame é usar o método de subsetting [] com a instrução del. A instrução del remove a coluna diretamente do objeto DataFrame.

# cria um DataFrame de exemplo
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['Nova Iorque', 'Paris', 'Londres', 'Tóquio']}
df = pd.DataFrame(data)
# remove a coluna 'cidade'
del df['city']
print(df.head())

Saída:

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

No exemplo acima, criamos um DataFrame de exemplo com três colunas denominadas name, age e city. Usamos o método de subsetting [] com a instrução del para remover a coluna city. Em seguida, imprimimos o DataFrame atualizado que contém apenas duas colunas, name e age.

Remover Múltiplas Colunas

Às vezes, é necessário remover várias colunas de um DataFrame. Você pode usar o método drop com uma lista de nomes de colunas para remover várias colunas.

# cria um DataFrame de exemplo
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['Nova Iorque', 'Paris', 'Londres', 'Tóquio'], 'occupation': ['engenheiro', 'médico', 'artista', 'advogado']}
df = pd.DataFrame(data)
# remove as colunas 'city' e 'occupation'
df = df.drop(['city', 'occupation'], axis=1)
print(df.head())

Saída:

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

No exemplo acima, criamos um DataFrame de exemplo com quatro colunas denominadas name, age, city e occupation. Usamos o método drop com uma lista de nomes de colunas para remover as colunas city e occupation. Em seguida, imprimimos o DataFrame atualizado que contém apenas duas colunas, name e age.

Remover colunas usando um índice de coluna

Você também pode remover uma coluna de um DataFrame usando o índice da coluna. Para isso, você pode usar o método drop com o parâmetro columns e especificar o índice da coluna a ser removida.

# cria um DataFrame de exemplo
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': ['Nova Iorque', 'Paris', 'Londres', 'Tóquio']}
. Não traduza códigos começando com import. Se houver uma frontmatter, traduza o conteúdo na frontmatter, não os parâmetros. Se houver um componente jsonld, certifique-se de traduzir o conteúdo json-ld também.
## Removendo colunas de um DataFrame Pandas
 
Se você trabalha com ciência de dados, é essencial saber como remover colunas de um DataFrame em Pandas. Neste tutorial, você aprenderá como fazer isso.
 
### Remoção de uma coluna baseada no nome
 
A maneira mais fácil de remover uma coluna de um DataFrame em Pandas é passar o nome da coluna que você deseja remover para o método `drop`.
 
``` python
# criando um DataFrame de exemplo com colunas nomeadas 'name', 'age' e 'city'
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18], 'city': ['New York', 'Paris', 'London', 'Berlin']}
df = pd.DataFrame(data)
# removendo a coluna 'city'
df = df.drop('city', axis=1)
print(df.head())

Saída:

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

No exemplo acima, criamos um DataFrame de amostra com três colunas nomeadas name, age e city. Usamos o método drop com o nome da coluna 'city' passado como parâmetro. Em seguida, imprimimos o DataFrame atualizado que agora tem apenas as colunas name e age.

Remoção de uma coluna com base no índice

Você também pode remover uma coluna com base no índice, em vez de usarmos seu nome. Por exemplo, se a coluna que você deseja remover está na posição 2, você pode passar df.columns[2] como parâmetro no método drop.

# criando um DataFrame de exemplo com colunas nomeadas 'name', 'age' e 'city'
import pandas as pd
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18], 'city': ['New York', 'Paris', 'London', 'Berlin']}
df = pd.DataFrame(data)
# removendo a coluna na posição 2, ou seja, 'city'
df = df.drop(df.columns[2], axis=1)
print(df.head())

Saída:

     name  age
0    Alex   20
1     Bob   25
2  Clarke   19
3   David   18

No exemplo acima, criamos um DataFrame de amostra com três colunas nomeadas name, age, e city. Usamos o método drop com o parâmetro columns e especificamos o índice da coluna a ser removida, 2. Em seguida, imprimimos o DataFrame atualizado que agora tem apenas as colunas name e age.

Remoção de colunas baseadas em uma condição

Você também pode remover colunas com base em algumas condições usando o método drop. Por exemplo, você pode remover todas as colunas que têm todos os valores NaN.

# criando um DataFrame de exemplo com uma coluna com todos os valores NaN
import pandas as pd
import numpy as np
data = {'name': ['Alex', 'Bob', 'Clarke', 'David'], 'age': [20, 25, 19, 18],'city': [np.nan, np.nan, np.nan, np.nan], 'occupation': ['Engineer', 'Doctor', 'Artist', 'Lawyer']}
df = pd.DataFrame(data)
# excluindo as colunas que têm todos os valores NaN
df = df.dropna(how='all', axis=1)
print(df.head())

Saída:

     name  age  occupation
0    Alex   20    Engineer
1     Bob   25      Doctor
2  Clarke   19      Artist
3   David   18      Lawyer

No exemplo acima, criamos um DataFrame de amostra com quatro colunas nomeadas name, age, city e occupation. Configuramos os valores na coluna city como NaN. Usamos o método dropna com o parâmetro how='all' e axis=1 para remover as colunas que têm todos os valores NaN. Em seguida, imprimimos o DataFrame atualizado que agora tem apenas as colunas name, age e occupation.

Conclusão

A remoção de uma coluna de um DataFrame Pandas é uma operação essencial que você precisa dominar como cientista de dados. Neste tutorial, abordamos diferentes métodos para remover colunas com base no nome da coluna, índice e várias colunas. Esperamos que este tutorial o ajude a otimizar seu fluxo de trabalho e a melhorar suas operações de dados com o DataFrame Pandas.

Perguntas frequentes

  1. Como remover uma coluna em um DataFrame Python?

    Para remover uma coluna em um DataFrame Python, você pode usar o método drop() e especificar o nome da coluna juntamente com o parâmetro axis definido como 1. Isso irá remover a coluna especificada do DataFrame. Alternativamente, você pode usar a palavra-chave del seguida do nome da coluna para excluir a coluna no local.

  2. É possível remover várias colunas simultaneamente em um DataFrame Python?

    Sim, é possível remover várias colunas simultaneamente em um DataFrame Python. Você pode passar uma lista de nomes de colunas para o método drop() ou usar o método drop() várias vezes com diferentes nomes de colunas especificados cada vez. Isso irá remover todas as colunas especificadas do DataFrame.

  3. É possível remover colunas com base em certas condições em um DataFrame Python?

    Sim, é possível remover colunas com base em certas condições em um DataFrame Python. Você pode usar indexação booleana ou o indexador loc para selecionar as colunas que atendem à condição desejada e, em seguida, usar o método drop() para remover essas colunas do DataFrame. Isso permite remover seletivamente colunas com base em critérios específicos.