Pandas: como substituir nan por none


Você pode usar a seguinte sintaxe básica para substituir valores NaN por None em um DataFrame do pandas:

 df = df. replace (np. nan , None )

Esta função é particularmente útil quando você precisa exportar um DataFrame do pandas para um banco de dados que usa None para representar valores ausentes em vez de NaN .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: substitua NaN por None no Pandas

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' A ': [5, 6, 8, np.nan, 4, 15, 13],
                   ' B ': [np.nan, 12, np.nan, 10, 23, 6, 4],
                   ' C ': [2, 7, 6, 3, 2, 4, np.nan],
                   ' D ': [5, np.nan, 6, 15, 1, np.nan, 4]})

#view DataFrame
print (df)

      ABCD
0 5.0 NaN 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 NaN 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0

Observe que existem vários valores NaN no DataFrame.

Para substituir cada valor NaN por None , podemos usar a seguinte sintaxe:

 #replace all NaN values with None
df = df. replace (np. nan , None )

#view updated DataFrame
print (df)

      ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 None
2 8.0 None 6.0 6.0
3 None 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 None
6 13.0 4.0 None 4.0

Observe que cada NaN em cada coluna do DataFrame foi substituído por None .

Observe que se você deseja substituir apenas valores NaN por None em uma determinada coluna, você pode usar a seguinte sintaxe:

 #replace NaN values with None in column 'B' only
df[' B '] = df[' B ']. replace (np. nan , None )

#view updated DataFrame
print (df)

      ABCD
0 5.0 None 2.0 5.0
1 6.0 12.0 7.0 NaN
2 8.0 None 6.0 6.0
3 NaN 10.0 3.0 15.0
4 4.0 23.0 2.0 1.0
5 15.0 6.0 4.0 NaN
6 13.0 4.0 NaN 4.0

Observe que os valores NaN foram alterados para Nenhum apenas na coluna “B”.

Relacionado: Como substituir valores NaN por zero no Pandas

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Como substituir valores específicos no Pandas
Como filtrar um DataFrame do Pandas por valores de coluna
Como preencher valores NA para múltiplas colunas no Pandas

Add a Comment

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