#!/usr/bin/env python3
"""
03_eno_explore.py — Load and explore ENO (notifiable diseases) data.

IELE756 · Week 0 · March 6, 2026
"""

import pandas as pd

# ── 1. Load ENO (semicolon-delimited!) ──
eno = pd.read_csv("materials/eno/20241218_base_eno_final.csv",
                   sep=";", encoding="utf-8-sig")
print(f"Total notifications: {len(eno):,}")
print(f"Columns: {eno.shape[1]}")
print(eno.columns.tolist())

# ── 2. Quick look ──
print("\n── First rows ──")
print(eno.head())

# ── 3. Filter to Tarapacá ──
eno_tar = eno[eno["region"] == "Región de Tarapacá"]
print(f"\nTarapacá notifications: {len(eno_tar):,}")

# ── 4. Top 10 diseases ──
print("\n── Top 10 diseases ──")
print(eno_tar["ENO"].value_counts().head(10))

# ── 5. Notifications over time ──
print("\n── Notifications by year ──")
print(eno_tar["anho_notificacion"].value_counts().sort_index())

# ── 6. Nationality breakdown ──
print("\n── Nationality ──")
print(eno_tar["nacionalidad"].value_counts())

# ── Exercise: top diseases for foreign nationals ──
print("\n── Exercise: top diseases for Extranjero ──")
print(eno_tar[eno_tar["nacionalidad"] == "Extranjero"]["ENO"].value_counts().head())

print(f"\nUnique comunas: {eno_tar['codigo_comuna_residencia'].nunique()}")
