Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Parte 9 - Excluyendo Outliers

%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
plt.rc('figure',figsize = (14,6))

datos = pd.read_csv('alquiler_residencial1.csv',sep = ';')
datos.head(10)

datos.boxplot(['Valor'])

datos[datos['Valor'] >= 500000]

valor = datos['Valor']

Q1 = valor.quantile(.25)
Q3 = valor.quantile(.75)
IIQ = Q3 - Q1
limite_inf = Q1 - 1.5 * IIQ 
limite_sup = Q3 + 1.5 * IIQ

seleccion = ((valor >= limite_inf) & (valor <= limite_sup))

datos_new = datos[seleccion]

datos_new.boxplot(['Valor'])

datos.hist(['Valor'])

datos_new.hist(['Valor'])

datos.boxplot(['Valor'],by = ['Tipo'])

grupo_tipo = datos.groupby('Tipo')['Valor']

type(grupo_tipo)

pandas.core.groupby.generic.SeriesGroupBy

grupo_tipo.groups

Q1 = grupo_tipo.quantile(.25)
Q3 = grupo_tipo.quantile(.75)
IIQ = Q3 - Q1
limite_inf = Q1 - 1.5 * IIQ 
limite_sup = Q3 + 1.5 * IIQ

Q1

limite_inf

datos_new = pd.DataFrame()
for tipo in grupo_tipo.groups.keys():
  eh_tipo = datos['Tipo'] == tipo
  eh_dentro_limite = (datos['Valor'] >= limite_inf[tipo]) & (datos['Valor'] <= limite_sup[tipo])
  seleccion = eh_tipo & eh_dentro_limite
  datos_seleccion = datos[seleccion]
  datos_new = pd.concat([datos_new,datos_seleccion])

datos_new.boxplot(['Valor'],by = ['Tipo'])

datos_new.to_csv('alquiler_residencial_sin_outliers.csv',sep = ';',index = False)

#**Extra**

%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
plt.rc('figure',figsize = (25,20))

datos = pd.read_csv('alquiler_residencial_sin_outliers.csv',sep = ';')
datos.head(10)

area = plt.figure()

g1 = area.add_subplot(2,2,1)
g2 = area.add_subplot(2,2,2)
g3 = area.add_subplot(2,2,3)
g4 = area.add_subplot(2,2,4)

#Crear Graficos
g1.scatter(datos.Valor,datos.Area)
g1.set_title('VAlor por Area')

g2.hist(datos.Valor)
g2.set_title('Histograma')

datos_g3 = datos.Valor.sample(100)
datos_g3.index = range(datos_g3.shape[0])
g3.plot(datos_g3)
g3.set_title('Muestra de columna "Valor"')

grupo = datos.groupby('Tipo')['Valor']
label = grupo.mean().index
valores = grupo.mean().values
g4.bar(label,valores)
g4.set_title('Valor medio por Tipo')

area

area.savefig('graficos.png',dpi = 300, bbox_inches = 'tight')
1 respuesta
solución!

Hola Alexei,

Gracias por compartir tu código con nosotros.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios