Pandas: como remover colunas com valores nan
Você pode usar os seguintes métodos para remover colunas de um DataFrame do pandas com valores NaN:
Método 1: remover colunas com qualquer valor NaN
df = df. dropna (axis= 1 )
Método 2: remover colunas com todos os valores NaN
df = df. dropna (axis= 1 ,how=' all ')
Método 3: remover colunas com número mínimo de valores NaN
df = df. dropna (axis= 1 ,thresh= 2 )
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', 'A', 'A', 'B', 'B', 'B'], ' position ': [np.nan, 'G', 'F', 'F', 'C', 'G'], ' points ': [11, 28, 10, 26, 6, 25], ' rebounds ': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]}) #view DataFrame print (df) team position points rebounds 0 A NaN 11 NaN 1 AG 28 NaN 2 AF 10 NaN 3 BF 26 NaN 4 BC 6 NaN 5 BG 25 NaN
Exemplo 1: Remover Colunas com Valores NaN
O código a seguir mostra como remover colunas com valores NaN:
#drop columns with any NaN values df = df. dropna (axis= 1 ) #view updated DataFrame print (df) team points 0 to 11 1 to 28 2 to 10 3 B 26 4 B 6 5 B 25
Observe que as colunas de posição e rebotes foram removidas porque ambas tinham pelo menos um valor NaN.
Exemplo 2: Remover colunas com todos os valores NaN
O código a seguir mostra como remover colunas com todos os valores NaN:
#drop columns with all NaN values df = df. dropna (axis= 1 ,how=' all ') #view updated DataFrame print (df) team position points 0 A NaN 11 1 AG 28 2 AF10 3 BF 26 4 BC 6 5 BG 25
Observe que a coluna bounces foi removida porque era a única coluna com todos os valores NaN.
Exemplo 3: Remover colunas com número mínimo de valores NaN
O código a seguir mostra como remover colunas com dois ou mais valores NaN:
#drop columns with at least two NaN values df = df. dropna (axis= 1 ,thresh= 2 ) #view updated DataFrame print (df) team position points 0 A NaN 11 1 AG 28 2 AF10 3 BF 26 4 BC 6 5 BG 25
Observe que a coluna bounces foi removida porque era a única coluna com pelo menos dois valores NaN.
Nota : Você pode encontrar a documentação completa da função dropna() no pandas aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:
Como remover a primeira coluna no Pandas
Como remover colunas duplicadas no Pandas
Como deletar todas as colunas exceto algumas no Pandas