Skip to content

Calculate zonal statistics

Zonal statistics includin 'mean', 'max', 'min', 'sum', 'std', 'var', 'count' can be easily calculated using the AnalysisArea.zonal_stats method.

Here are is an example over the administrative units of Benin.

from hip.analysis.aoi import AnalysisArea
_DATES = "2020-01-01/2021-01-10"
iso3 = "BEN"
area = AnalysisArea.from_admin_boundaries(iso3=iso3, admin_level=1, datetime_range=_DATES)

Here we calculate mean and variance dekadal rainfall estimates by admin area.

admin_rfh = area.zonal_stats(['CHIRPS','RFH_DEKAD'], stats=['mean','var'])
admin_rfh.head()

The method defaults to using the admin boundaries used to create the AnalysisArea object. However, custom boundaries can also be provided, both in the form of a GeoPandas DataFrame or an Xarray DataArray. See method reference for more details