Pandas: como substituir zero por nan
Você pode usar a seguinte sintaxe básica para substituir zeros por valores NaN em um DataFrame do pandas:
df. replace (0, np. nan , inplace= True )
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: substitua zero por NaN em Pandas
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' points ': [25, 0, 15, 14, 19, 23, 25, 29],
' assists ': [5, 0, 7, 0, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 0, 9, 0]})
#view DataFrame
print (df)
points assists rebounds
0 25 5 11
1 0 0 8
2 15 7 10
3 14 0 6
4 19 12 6
5 23 9 0
6 25 9 9
7 29 4 0
Podemos usar a seguinte sintaxe para substituir cada zero no DataFrame por um valor NaN:
import numpy as np
#replace all zeros with NaN values
df. replace (0, np. nan , inplace= True )
#view updated DataFrame
print (df)
points assists rebounds
0 25.0 5.0 11.0
1 NaN NaN 8.0
2 15.0 7.0 10.0
3 14.0 NaN 6.0
4 19.0 12.0 6.0
5 23.0 9.0 NaN
6 25.0 9.0 9.0
7 29.0 4.0 NaN
Observe que cada zero em cada coluna do DataFrame foi substituído por NaN.
Nota : Devemos usar o argumento inplace=True caso contrário as alterações não serão feitas no DataFrame original.
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