Pandas: como usar dropna() com colunas específicas


Você pode usar a função dropna() com o argumento subset para remover linhas de um DataFrame do pandas que contém valores ausentes em colunas específicas.

Aqui estão as maneiras mais comuns de usar esse recurso na prática:

Método 1: remover linhas com valores ausentes em uma coluna específica

 df. dropna (subset = [' column1 '], inplace= True )

Método 2: remover linhas com valores ausentes em uma das várias colunas específicas

 df. dropna (subset = [' column1 ', ' column2 ', ' column3 '], inplace= True )

Os exemplos a seguir mostram como usar cada método na prática com o seguinte DataFrame do pandas:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, np.nan, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, np.nan, np.nan, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.nan]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
1 B NaN NaN 8.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H 28.0 4.0 NaN

Exemplo 1: Remover linhas com valores ausentes em uma coluna específica

Podemos usar a seguinte sintaxe para remover linhas com valores faltantes na coluna “assistências”:

 #drop rows with missing values in 'assists' column
df. dropna (subset = [' assists '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0
7H 28.0 4.0 NaN

Observe que as duas linhas com valores ausentes na coluna “Assistências” foram removidas do DataFrame.

Observe também que a última linha do DataFrame é mantida mesmo que tenha um valor ausente, porque o valor ausente não está na coluna “ajuda”.

Exemplo 2: Remova linhas com valores ausentes em uma das várias colunas específicas

Podemos usar a seguinte sintaxe para remover linhas com valores ausentes nas colunas “pontos” ou “rejeições”:

 #drop rows with missing values in 'points' or 'rebounds' column
df. dropna (subset = [' points ', ' rebounds '], inplace= True )

#view updated DataFrame
print (df)

  team points assists rebounds
0 A 18.0 5.0 11.0
2 C 19.0 NaN 10.0
3D 14.0 9.0 6.0
4 E 14.0 12.0 6.0
5 F 11.0 9.0 5.0
6G 20.0 9.0 9.0

Observe que as duas linhas com valores ausentes nas colunas “pontos” ou “rejeições” foram removidas do DataFrame.

Nota : Você pode encontrar a documentação completa para a função dropna() do pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Pandas: Como redefinir o índice após usar dropna()
Pandas: Como remover colunas com valores NaN
Pandas: como excluir linhas com base em múltiplas condições

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *