Executando verificação de segurança...
4

[DATA SCIENCE] DAY: 005 - Encontrando e preenchendo valores em branco com python

🍄 Buenas pessoal, tudo bem com vocês?

🔥 Hoje iremos aprender como encontrar e preencher valores em branco

Objetivo:

  • Encontrar valores em branco e substituir com algum valor;

1 - Primeiro, podemos usar a notação as para abreviar o nome das bibliotecas e métodos que vamos importar e facilitar a escrita de código:

💻

import numpy as np
import pandas as pd
from pandas import Series, DataFrame

2 - O NumPy tem embutido nele um objeto chamado np.nan que serve para identificar valores em branco, assim podemos utilizar a nosso favor para colocar valores em branco na variável que iremos criar:

💻

em_branco = np.nan

serie = Series(['linha 1', 'linha 2', em_branco, 'linha 4', 'linha 5', 'linha 6', em_branco, 'linha 8'])

print(serie)


#saida
0    linha 1
1    linha 2
2        NaN
3    linha 4
4    linha 5
5    linha 6
6        NaN
7    linha 8
dtype: object

Obs: NaN significa not a number

3 - Em seguida, iremos conhecer o método .isnull(), onde retorna valores booleanos (True ou False) se um item dentro de um objeto Pandas é nulo ou vazio:

💻

print(serie.isnull())

#saida
0    False
1    False
2     True
3    False
4    False
5    False
6     True
7    False
dtype: bool

4 - Em seguida, vamos criar uma matriz 6x6 de números aleatórios com a biblioteca NumPy, e armazenar esses dados em uma estrutura de dados do Pandas chamada "DataFrame". em seguida, alterar os valores de algumas células específicas do DataFrame, substituindo-os pelo valor "em_branco":

💻

np.random.seed(25)
df = DataFrame(np.random.randn(36).reshape(6,6))
df.loc[3:5, 0] = em_branco
df.loc[1:4, 5] = em_branco
print(df)


#saída
                0	     1	           2	        3	      4	           5
0	 0.228273     1.026890     -0.839585    -0.591182     -0.956888    -0.222326
1	-0.619915     1.837905	   -2.053231	 0.868583     -0.920734          NaN
2	 2.152957    -1.334661	    0.076380	-1.246089      1.202272          NaN
3	      NaN    -0.419678	    2.294842	-2.594487      2.822756	         NaN
4	      NaN    -1.976254	    0.533340	-0.290870     -0.513520	         NaN
5	      NaN    -1.839905	    1.607671	 0.388292      0.399732	    0.405477

Obs: O comando f.loc[3:5, 0] = em_branco altera os valores das células da linha 3 até a linha 5 da coluna 0 para o valor "em_branco". O comando f.loc[1:4, 5] = em_branco altera os valores das células da linha 1 até a linha 4 da coluna 5 para o valor "em_branco".

5 - O método .fillna() encontra os valores nulos do nosso objeto e preenche esses valores com o novo valor que você passar:

💻

df_preenchido = df.fillna(0)
print(df_preenchido)

#saida
                0	     1	           2	        3	      4	           5
0	 0.228273     1.026890	   -0.839585	-0.591182     -0.956888	   -0.222326
1	-0.619915     1.837905	   -2.053231	 0.868583     -0.920734	    0.000000
2	 2.152957    -1.334661	    0.076380	-1.246089      1.202272	    0.000000
3	 0.000000    -0.419678	    2.294842	-2.594487      2.822756	    0.000000
4	 0.000000    -1.976254	    0.533340	-0.290870     -0.513520	    0.000000
5	 0.000000    -1.839905	    1.607671	 0.388292      0.399732	    0.405477

6 - Por último, você também pode passar um dicionário para o método .fillna(). Usando um dicionário, o método entende que cada chave do dicionário corresponde a uma coluna e o seu par o valor a ser substituído na respectiva coluna:

💻

dicio = {0: 0.1, 5: 1.25}
df_preenchido = df.fillna(dicio)
print(df_preenchido)

#saida

                0	     1	           2	        3	      4	           5
0	 0.228273     1.026890	   -0.839585	-0.591182     -0.956888	   -0.222326
1	-0.619915     1.837905	   -2.053231	 0.868583     -0.920734	    1.250000
2	 2.152957    -1.334661	    0.076380	-1.246089      1.202272	    1.250000
3	 0.100000    -0.419678	    2.294842	-2.594487      2.822756	    1.250000
4	 0.100000    -1.976254	    0.533340	-0.290870     -0.513520	    1.250000
5	 0.100000    -1.839905	    1.607671	 0.388292      0.399732	    0.405477

☀️ Espero que tenham gostado do conteúdo, amanhã iremos aprender como contar e remover valores em branco!

🚀 See you later!

Data Science

Carregando publicação patrocinada...