Trabalhando com valores “missing” em Pandas

Um tutorial breve sobre valores missing em Pandas

Manipulando valores missing

df = pd.DataFrame({'A': [20, 15, 20],
'B': [np.nan, 50, 4],
'C': [30, 5, 30,],
'D': [15, 2, np.nan],
'E': [8, 5, 10],
'F': [45, 7, np.nan],
'G': [35, 10, 35]},

index = ['Row 1', 'Row 2', 'Row 3'])
df
DataFrame usado para aplicação de todos os métodos do tutorial

Detectando valores missing: isnull()

df.isnull ( )
df.notnull( )
df.isnull().sum().sum()

Dropando dados missing

dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)
df

Dropar linha se algum valor NaN presente: .dropna()

df.dropna(axis = 0)
dropna(axis = 0)

Dropar coluna se algum valor NaN presente: .dropna()

df.dropna(axis = 1)
dropna(axis=1)

Dropar com uso do parâmetro thresh

df.dropna(axis = 0, thresh = 6)

Substituindo valores missing: .fillna( )

Parâmetros de .fillna ()

fillna(value=None, method=None, axis=None, inplace=False)

df

Substituir valores NaN por um escalar:

df.fillna(value=10)
df.fillna(value=10)

Substituir valores NaN por valores da linha anterior.

df.fillna(axis=0, method='ffill')
df original
Visualizando a substituição
df.fillna(axis=0, method=’ffill’)

Substituir valores NaN por valores da próxima linha ou coluna.

# Substituir valor ausente com valor da próxima linha
df.fillna(axis=0, method='bfill')
# Substituir valor ausente com valor da próxima coluna
df.fillna(axis=1, method='bfill')
df.fillna(axis=0, method=’bfill’)
df.fillna(axis=1, method=’bfill’)

Substituir valores de NaN pela média

df['B'].fillna(value=df['B'].mean(), inplace=True)
df[‘B’].fillna(value=df[‘B’].mean(), inplace=True)

Obrigado.

df.dropna(axis = 1)
df.dropna(axis = 0, thresh = 6)

Substituindo valores perdidos

fillna(value=None, method=None, axis=None, inplace=False)
df.fillna(value=10)
df.fillna(axis=0, method='ffill')
df.fillna(axis=1, method='ffill')
# Replace with the values in the next row
df.fillna(axis=0, method='bfill')# Replace with the values in the next column
df.fillna(axis=1, method='bfill')
df['B'].fillna(value=df['B'].mean(), inplace=True)

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store