momepy.Simpson#

class momepy.Simpson(gdf, values, spatial_weights, unique_id, binning='HeadTailBreaks', gini_simpson=False, inverse=False, categorical=False, verbose=True, **classification_kwds)[source]#

Calculates the Simpson’s diversity index of values within neighbours defined in spatial_weights. Uses mapclassify.classifiers under the hood for binning. Requires mapclassify>=.2.1.0 dependency.

\[\lambda=\sum_{i=1}^{R} p_{i}^{2}\]

Adapted from [Feliciotti, 2018].

Parameters:
gdfGeoDataFrame

A GeoDataFrame containing morphological tessellation.

valuesstr, list, np.array, pd.Series

The name of the dataframe column, np.array, or pd.Series where character values are stored.

spatial_weightslibpysal.weights, optional

A spatial weights matrix. If None, Queen contiguity matrix of set order will be calculated based on objects.

unique_idstr

The name of the column with unique IDs used as the spatial_weights index.

binningstr (default ‘HeadTailBreaks’)

One of mapclassify classification schemes. For details see mapclassify API documentation.

gini_simpsonbool (default False)

Return Gini-Simpson index instead of Simpson index (1 - λ).

inversebool (default False)

Return Inverse Simpson index instead of Simpson index (1 / λ).

categoricalbool (default False)

Treat values as categories (will not use binning).

verbosebool (default True)

If True, shows progress bars in loops and indication of steps.

**classification_kwdsdict

Keyword arguments for the classification scheme. For details see mapclassify documentation.

See also

momepy.simpson_diversity

Calculates the Simpson’s diversity index of data.

Examples

>>> sw = momepy.sw_high(k=3, gdf=tessellation_df, ids='uID')
>>> tessellation_df['area_Simpson'] = mm.Simpson(tessellation_df,
...                                              'area',
...                                              sw,
...                                              'uID').series
100%|██████████| 144/144 [00:00<00:00, 455.83it/s]
Attributes:
seriesSeries

A Series containing resulting values.

gdfGeoDataFrame

The original GeoDataFrame.

valuesSeries

A Series containing used values.

swlibpysal.weights

The spatial weights matrix.

idSeries

A Series containing used unique ID.

binningstr

The binning method used.

binsmapclassify.classifiers.Classifier

The generated bins.

classification_kwdsdict

Keyword arguments for the classification scheme. For details see mapclassify documentation.

__init__(gdf, values, spatial_weights, unique_id, binning='HeadTailBreaks', gini_simpson=False, inverse=False, categorical=False, verbose=True, **classification_kwds)[source]#

Methods

__init__(gdf, values, spatial_weights, unique_id)