Data: data/water_municipal.csv (one row = municipality x zone x year, 2010-2023). IRCA here is utility-supplied (“prestadores”) IRCA from INS open data, not INS’s national total.
import pandas as pddf = pd.read_csv("data/water_municipal.csv", dtype={"divipola": str})print(f"{df.shape[0]:,} rows x {df.shape[1]} columns")df.dtypes.to_frame("dtype").T
31,416 rows x 29 columns
divipola
municipio
dpto_code
departamento
region
entity_type
department_capital
zone
year
irca
...
ipm
mdm
idf
idf_new
sgp_water_pc
rainfall_mm
infant_mortality
saber11_mean
saber11_n
dropout_rate
dtype
str
str
int64
str
str
str
int64
str
int64
float64
...
float64
float64
float64
float64
float64
float64
float64
float64
float64
float64
1 rows × 29 columns
Missing values (%) per column, by zone
miss = df.drop(columns="zone").isna().groupby(df["zone"]).mean().mul(100).round(1).Tmiss
zone
rural
urban
divipola
0.0
0.0
municipio
0.0
0.0
dpto_code
0.0
0.0
departamento
0.0
0.0
region
0.0
0.0
entity_type
0.0
0.0
department_capital
0.0
0.0
year
0.0
0.0
irca
52.9
14.5
irca_missing
0.0
0.0
water_coverage
10.5
9.7
sewer_coverage
10.5
9.7
water_coverage_total
6.6
6.6
sewer_coverage_total
6.7
6.7
population
0.1
0.1
rural_share
0.1
0.1
rurality_category
1.9
1.9
altitude_m
0.0
0.0
ipm
1.9
1.9
mdm
43.9
43.9
idf
23.0
23.0
idf_new
72.0
72.0
sgp_water_pc
1.8
1.8
rainfall_mm
0.1
0.1
infant_mortality
14.9
14.9
saber11_mean
58.9
52.2
saber11_n
50.0
50.0
dropout_rate
8.1
8.1
IRCA bands (Resolución 2115 de 2007, art. 15), by zone
Counts of rows with a utility-supplied IRCA value.