Skip to content

PySpark Drop Column: Remover Colunas Eficientemente de DataFrames

Updated on

A remoção de colunas de DataFrames é uma tarefa comum no PySpark, uma ferramenta poderosa para manipulação e análise de dados. Seja lidando com uma única coluna ou várias, o PySpark oferece técnicas eficientes para removê-las do seu DataFrame. Este artigo irá guiá-lo por essas técnicas, oferecendo explicações detalhadas e exemplos para ajudá-lo a dominar a remoção de colunas no PySpark.

O DataFrame do PySpark fornece o método drop(), que pode ser usado para remover uma única coluna ou várias colunas de um DataFrame. Este método é versátil e pode ser usado de várias maneiras, dependendo das suas necessidades. Se você deseja remover uma coluna pelo seu nome, índice ou condição, o PySpark tem a solução.

Quer criar rapidamente visualizações de dados a partir de um DataFrame Python Pandas 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 no Jupyter Notebook, transformando seu DataFrame pandas (e o DataFrame polars) em uma Interface de Usuário no estilo Tableau para exploração visual.

PyGWalker para visualização de dados (opens in a new tab)

Como Remover uma Única Coluna em um DataFrame PySpark

A remoção de uma única coluna de um DataFrame PySpark é direta. O método drop() do PySpark recebe self e *cols como argumentos. Veja como você pode usá-lo:

df = df.drop('nome_da_coluna')

Neste exemplo, 'nome_da_coluna' é o nome da coluna que você deseja remover. Esta linha de código retornará um novo DataFrame com a coluna especificada removida.

Existem outras maneiras de remover uma única coluna. Por exemplo, você pode usar o método drop() da biblioteca pyspark.sql.functions:

from pyspark.sql.functions import col
df = df.drop(col('nome_da_coluna'))

Esses exemplos demonstram como remover a coluna 'nome_da_coluna' do DataFrame. Você pode usar qualquer um desses métodos de acordo com suas necessidades.

Como Remover Múltiplas Colunas em um DataFrame PySpark

Se você precisa remover várias colunas de um DataFrame, o PySpark também permite fazer isso. Você pode passar uma lista de nomes de colunas para o método drop():

df = df.drop('nome_da_coluna1', 'nome_da_coluna2', 'nome_da_coluna3')

Neste exemplo, 'nome_da_coluna1', 'nome_da_coluna2' e 'nome_da_coluna3' são os nomes das colunas que você deseja remover. Esta linha de código retornará um novo DataFrame com as colunas especificadas removidas.

É Possível Remover uma Coluna por Índice em um DataFrame PySpark?

Embora o PySpark não forneça uma função incorporada para remover uma coluna por seu índice, você pode conseguir isso combinando a compreensão de lista do Python com o método drop() do PySpark. Veja como você pode fazer:

df = df.drop(*[df.columns[i] for i in [indice_coluna1, indice_coluna2]])

Neste exemplo, 'indice_coluna1' e 'indice_coluna2' são os índices das colunas que você deseja remover. Esta linha de código retornará um novo DataFrame com as colunas especificadas removidas.

Lembre-se de que a indexação do Python começa em 0, então a primeira coluna do DataFrame está no índice 0.

Como Remover uma Coluna Apenas se Ela Existir em um DataFrame PySpark

Em alguns casos, você pode querer remover uma coluna apenas se ela existir no DataFrame. O PySpark não fornece uma função incorporada para isso, mas você pode fazê-lo verificando se a coluna está na lista de colunas do DataFrame antes de chamar o método drop():

if 'nome_da_coluna' in df.columns:
    df = df.drop('nome_da_coluna')

Neste exemplo, 'nome_da_coluna' é o nome da coluna que você deseja remover. Esta linha de código verificará se 'nome_da_coluna' existe nas colunas do DataFrame. Se existir, ela removerá a coluna e retornará um novo DataFrame.

Como Remover Linhas com Valores Nulos em um DataFrame PySpark

O PySpark também permite que você remova linhas com valores nulos em um DataFrame. Você pode fazer isso usando o método dropna():

df = df.dropna()

Esta linha de código retornará um novo DataFrame com todas as linhas que contêm pelo menos um valor nulo removidas.

Perguntas Frequentes

Aqui estão algumas perguntas frequentes sobre a remoção de colunas em um DataFrame PySpark:

  1. Como remover duplicatas em um DataFrame PySpark? Você pode remover duplicatas em um DataFrame PySpark usando o método dropDuplicates(). Este método retorna um novo DataFrame com as linhas duplicadas removidas.

  2. É possível remover uma lista de colunas em um DataFrame PySpark? Sim, é possível remover uma lista de colunas em um DataFrame PySpark. Você pode passar uma lista de nomes de colunas para o método drop() para remover várias colunas de uma só vez.

  3. Qual é a sintaxe para juntar dois DataFrames no PySpark? Você pode juntar dois DataFrames no PySpark usando o método join(). A sintaxe é df1.join(df2, on='coluna_comum', how='tipo_de_junção'), onde 'coluna_comum' é a coluna na qual você deseja juntar os DataFrames e 'tipo_de_junção' é o tipo de junção que você deseja realizar (por exemplo, 'inner', 'outer', 'left', 'right').