Como deletar uma coluna em um DataFrame Pandas
Published 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.
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
-
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âmetroaxis
definido como 1. Isso irá remover a coluna especificada do DataFrame. Alternativamente, você pode usar a palavra-chavedel
seguida do nome da coluna para excluir a coluna no local. -
É 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étododrop()
várias vezes com diferentes nomes de colunas especificados cada vez. Isso irá remover todas as colunas especificadas do DataFrame. -
É 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étododrop()
para remover essas colunas do DataFrame. Isso permite remover seletivamente colunas com base em critérios específicos.