<jupyter_start><jupyter_text>Relatório de Análise VIII  Identificando e Removendo Outliers<jupyter_code>%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
plt.rc('figure', figsize = (14,6))
dados = pd.read_csv('aluguel_residencial.csv', sep=';')
dados
dados.boxplot(['Valor'])
dados[dados['Valor'] >= 500000]
valor = dados['Valor']
q1 = valor.quantile(.25)
q3 = valor.quantile(.75)
iiq = q3 - q1
limite_inferior = q1-1.5 * iiq
limite_superior = q3+1.5 * iiq
selecao = (valor >= limite_inferior) & (valor <=limite_superior)
dados_new = dados[selecao]
dados_new.boxplot(['Valor'])
dados.hist(['Valor'])
dados_new.hist(['Valor'])
valorm2 = dados['Valor m2']
m2q1 = valorm2.quantile(.25)
m2q3 = valorm2.quantile(.75)
m2iiq = m2q3 - m2q1
m2limite_inferior = m2q1-1.5 * m2iiq
m2limite_superior = m2q3+1.5 * m2iiq
print('q1 ->', m2q1)
print('q3 ->', m2q3)
print('iip ->', m2iiq)
print('lmti ->', m2limite_inferior)
print('lmts ->', m2limite_superior)<jupyter_output>q1 -> 21.12
q3 -> 42.0
iip -> 20.88
lmti -> -10.2
lmts -> 73.32<jupyter_text>Identificando e Removendo Outliers (continuação)<jupyter_code>dados.boxplot(['Valor'], by = ['Tipo'])
grupo_tipo = dados.groupby('Tipo')['Valor']
grupo_tipo.groups
q1 = grupo_tipo.quantile(.25)
q3 = grupo_tipo.quantile(.75)
iiq = q3 - q1
limite_inferior = q1-1.5 * iiq
limite_superior = q3+1.5 * iiq
q1
q3
iiq
limite_inferior
limite_superior
limite_superior['Apartamento']
dados_new = pd.DataFrame()
for tipo in grupo_tipo.groups.keys():
    eh_tipo = dados['Tipo'] == tipo
    eh_dentro_limite = (dados['Valor'] >= limite_inferior[tipo]) &  (dados['Valor'] <= limite_superior[tipo])
    selecao = eh_tipo & eh_dentro_limite
    dados_selecao = dados[selecao]
    dados_new = pd.concat([dados_new, dados_selecao])
dados_new.boxplot(['Valor'], by = ['Tipo'])
dados_new.to_csv('aluguel_residencial_semoutliers.csv', sep=';', index=False)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.16449765747006767, 'fraction_numerical': 0.05049453409682457, 'mean_word_length': 5.864285714285714, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 21, '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': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '375321', 'license': 'MIT', 'n_tokens_mistral': 915, 'n_tokens_neox': 864, 'n_words': 143, 'path': 'Pandas/Dados/Identificando e Removendo Outliers.ipynb', 'repo_name': 'lingsv/alura_ds', 'size': '1921'}