<jupyter_start><jupyter_text>IMPUTING MISSING<jupyter_code># Importar módulos

import sklearn
from sklearn.impute import SimpleImputer

import pandas as pd
import numpy as np
import random as rd
# Versões dos módulos

!python --version
%reload_ext watermark
%watermark --iversions
# Criar dados aleatórios

tamanho = 20
rd.seed = 42

sx = [rd.sample(['F', 'M'], 1)[0] for _ in range(tamanho)]
idade = [rd.sample(list(range(18, 75)), 1)[0] for _ in range(tamanho)]
classe = [rd.sample(['A', 'B', 'C'], 1)[0] for _ in range(tamanho)]

dic = {'sexo': sx, 'idade': idade, 'classe': classe}

dados = pd.DataFrame(dic)
dados.sample(5)
# Criar dados aleatórios missing

for linha in rd.sample(list(dados.index), 10):
  coluna = rd.sample([0, 1, 2], 1)[0]
  dados.iloc[linha, coluna] = np.NaN

dados
# Verificar a quantidade de dados missing

dados.isna().sum()
# Verificar informações dos dataset

dados.info()
# Completar os dados missing com a média mediana

imput = SimpleImputer(missing_values=np.NaN, strategy='median')
newimput = imput.fit_transform(dados['idade'].values.reshape(-1,1))[:, 0]
newimput
# Completar os dados missing com a maior frequência

imputer = SimpleImputer(missing_values=np.NaN, strategy='most_frequent')
imputer.fit_transform(dados['sexo'].values.reshape(-1,1))[:, 0]
# Completar os dados missing com um valor fixo

imputer = SimpleImputer(missing_values=np.NaN, strategy='constant', fill_value='F')
imputer.fit_transform(dados['sexo'].values.reshape(-1,1))[:, 0]
# Completar os dados missing com a maior frequência

imputer = SimpleImputer(missing_values=np.NaN, strategy='most_frequent')
imputer.fit_transform(dados['classe'].values.reshape(-1,1))[:, 0]
imputer.fit_transform(dados[['classe']])<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.148084619782733, 'fraction_numerical': 0.019439679817038306, 'mean_word_length': 6.261410788381743, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '455268', 'license': 'MIT', 'n_tokens_mistral': 693, 'n_tokens_neox': 672, 'n_words': 156, 'path': 'PYTHON/2021 IMPUTING MISSING.ipynb', 'repo_name': 'tiagotouso/HELP', 'size': '1749'}