Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

Desafío: vamos a practicar

1 Importar librerías necesarias

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

2️ Construcción del dataset

# Creamos un DataFrame simulado con información de departamentos en renta
data = {
    'colonia': [
        'Roma Norte', 'Condesa', 'Polanco', 'Del Valle', 'Narvarte',
        'Roma Norte', 'Condesa', 'Polanco', 'Del Valle', 'Narvarte',
        'Santa Fe', 'Lomas', 'Coyoacán', 'Centro', 'Juárez',
        'Santa Fe', 'Lomas', 'Coyoacán', 'Centro', 'Juárez'
    ],
    'habitaciones': [2, 3, 4, 2, 3, 1, 2, 3, 3, 2, 2, 4, 2, 1, 3, 3, 5, 2, 2, 1],
    'alquiler': [18000, 25000, 35000, 20000, 17000, 15000, 22000, 40000, 23000, 16000,
                 28000, 45000, 19000, 14000, 21000, 30000, 47000, 20000, 13000, 18000]
}

df = pd.DataFrame(data)

print("=== Vista general del dataset ===")
display(df.head())

3️ Calcular el promedio de habitaciones por colonia

promedio_habitaciones = df.groupby('colonia')['habitaciones'].mean().sort_values(ascending=False)
print("\n=== Promedio de habitaciones por colonia ===")
display(promedio_habitaciones)

4️ Verificar cuántas colonias únicas existen

colonias_unicas = df['colonia'].nunique()
print(f"\n=== Número de colonias únicas en el dataset: {colonias_unicas} ===")

5️ Analizar qué colonias tienen el promedio de alquiler más alto

promedio_alquiler = df.groupby('colonia')['alquiler'].mean().sort_values(ascending=False)
print("\n=== Promedio de alquiler por colonia ===")
display(promedio_alquiler)

6️ Crear gráfico de barras horizontales - Top 5 colonias

top5_colonias = promedio_alquiler.head(5)

plt.figure(figsize=(8,5))
top5_colonias.plot(kind='barh', color='skyblue')
plt.title('Top 5 colonias con el promedio de alquiler más alto', fontsize=14)
plt.xlabel('Promedio de Alquiler ($)')
plt.ylabel('Colonia')
plt.gca().invert_yaxis()  # Para mostrar la colonia con mayor promedio arriba
plt.grid(axis='x', linestyle='--', alpha=0.6)
plt.show()