Water Collection System in Mexico City - 2022

Jesus L. Monroy
Economist & Data Scientist

Mar 28, 2024

Summary

  • Rainwater harvesting is a sustainable and effective way to manage water resources in Mexico.

  • By promoting water conservation and increasing water security, these systems offer a path towards a more water-resilient future.

What is SCALL?


Rainwater harvesting systems are a prominent water collection method in Mexico, especially in areas facing water scarcity. These systems, called “Sistemas de Captación de Agua de Lluvia” (SCALL) offer several benefits:


  • Reduced strain on aquifers: By collecting rainwater, these systems decrease reliance on groundwater sources, which are often overexploited.
  • Improved water security: Especially in peri-urban areas, rainwater harvesting provides a more dependable water source, particularly during dry spells.
  • Cost-effective solution: Rainwater harvesting can significantly reduce water bills for households.
  • Empowering communities: Programs like “Agua a tu Casa” in Mexico City train women to install and maintain these systems, fostering economic opportunities.

Environment setting

Import libraries

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import folium
from folium.plugins import Fullscreen
plt.style.use('ggplot')

Load dataset

df = pd.read_csv('../Datasets/watercollection.csv')

Dataset preview

Dataset extract

df.columns = ['file', 'village', 'scall', 'territory', 'facility_date', 'capacity', 'alcaldia',
              'suburb', 'latitude','longitude']
df.head(3)

Descriptive Statitistics

Summary of basic stats

df.describe(include='number')

Installed Capacity by Alcaldia

We will group capacity by alcaldia

alcaldias = (
    df.groupby('alcaldia')['capacity']
        .agg('sum')
        .to_frame()
        .reset_index()
        .sort_values('capacity')
)

Installed Capacity by Village

villages = (
    df.groupby('village')['capacity']
        .agg('sum')
        .to_frame()
        .reset_index()
        .sort_values('capacity')
)

Installed Capacity by Month

months = (
    df.groupby(pd.Grouper(key='facility_date', freq="ME"))
    ['capacity'].sum()
                .to_frame()
                .reset_index()
)

Villages with Installations

zones = (
    df.groupby('village')[['capacity','latitude','longitude']]
        .agg({'capacity':'sum','latitude':'mean','longitude':'mean'})
        .reset_index(drop=False)
)
map

References

Resources

Contact

Jesus L. Monroy
Economist & Data Scientist

Medium | Linkedin | Twitter | Github