momepy.AverageCharacter#
- momepy.AverageCharacter(gdf, values, spatial_weights, unique_id, rng=None, mode='all', verbose=True)[source]#
Calculates the average of a character within a set neighbourhood defined in
spatial_weights. Can be set tomean,medianormode.meanis defined as:\[\frac{1}{n}\left(\sum_{i=1}^{n} value_{i}\right)\]Adapted from [Hausleitner and Berghauser Pont, 2017].
- Parameters:
- gdfGeoDataFrame
A GeoDataFrame containing a morphological tessellation.
- valuesstr, list, np.array, pd.Series
The name of the dataframe column,
np.array, orpd.Serieswhere character values are stored.- unique_idstr
The name of the column with unique ID used as the
spatial_weightsindex.- spatial_weightslibpysal.weights
A spatial weights matrix.
- rngtuple, list, optional (default None)
A two-element sequence containing floats between 0 and 100 (inclusive) that are the percentiles over which to compute the range. The order of the elements is not important.
- modestr (default ‘all’)
The mode of average calculation. It can be set to
'all','mean','median', or'mode'or a list of any of the options.- verbosebool (default True)
If
True, shows progress bars in loops and indication of steps.
- Attributes:
- seriesSeries
A Series containing resulting mean values.
- meanSeries
A Series containing resulting mean values.
- medianSeries
A Series containing resulting median values.
- modeSeries
A Series containing resulting mode values.
- gdfGeoDataFrame
The original GeoDataFrame.
- valuesGeoDataFrame
A Series containing used values.
- swlibpysal.weights
The spatial weights matrix.
- idSeries
A Series containing used unique ID.
- rngtuple
The range.
- modesstr
The mode.
Examples
>>> sw = libpysal.weights.DistanceBand.from_dataframe(tessellation, ... threshold=100, ... silence_warnings=True, ... ids='uID') >>> tessellation['mean_area'] = momepy.AverageCharacter(tessellation, ... values='area', ... spatial_weights=sw, ... unique_id='uID').mean 100%|██████████| 144/144 [00:00<00:00, 1433.32it/s] >>> tessellation.mean_area[0] 4823.1334436678835