momepy.Percentiles

class momepy.Percentiles(gdf, values, spatial_weights, unique_id, percentiles=[25, 50, 75], interpolation='midpoint', verbose=True)[source]

Calculates the percentiles of values within neighbours defined in spatial_weights.

Parameters
gdfGeoDataFrame

GeoDataFrame containing morphological tessellation

valuesstr, list, np.array, pd.Series

the name of the dataframe column, np.array, or pd.Series where is stored character value.

spatial_weightslibpysal.weights

spatial weights matrix

unique_idstr

name of the column with unique id used as spatial_weights index

percentilesarray-like (default [25, 50, 75])

percentiles to return

interpolation{‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}

This optional parameter specifies the interpolation method to use when the desired percentile lies between two data points i < j:

  • 'linear'

  • 'lower'

  • 'higher'

  • 'nearest'

  • 'midpoint'

See the documentation of numpy.percentile for details.

verbosebool (default True)

if True, shows progress bars in loops and indication of steps

Examples

>>> sw = momepy.sw_high(k=3, gdf=tessellation_df, ids='uID')
>>> percentiles_df = mm.Percentiles(tessellation_df,
...                                 'area',
...                                 sw,
...                                 'uID').frame
100%|██████████| 144/144 [00:00<00:00, 722.50it/s]
Attributes
frameDataFrame

DataFrame containing resulting values

gdfGeoDataFrame

original GeoDataFrame

valuesSeries

Series containing used values

swlibpysal.weights

spatial weights matrix

idSeries

Series containing used unique ID

__init__(gdf, values, spatial_weights, unique_id, percentiles=[25, 50, 75], interpolation='midpoint', verbose=True)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(gdf, values, spatial_weights, unique_id)

Initialize self.