momepy.Theil#

class momepy.Theil(gdf, values, spatial_weights, unique_id, rng=None, verbose=True)[source]#

Calculates the Theil measure of inequality of values within neighbours defined in spatial_weights. Uses inequality.theil.Theil under the hood. Requires ‘inequality’ package.

\[T = \sum_{i=1}^n \left( \frac{y_i}{\sum_{i=1}^n y_i} \ln \left[ N \frac{y_i} {\sum_{i=1}^n y_i} \right] \right)\]
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

A spatial weights matrix.

unique_idstr

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

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.

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')
>>> tessellation_df['area_Theil'] = mm.Theil(tessellation_df,
...                                          'area',
...                                          sw,
...                                          'uID').series
100%|██████████| 144/144 [00:00<00:00, 597.37it/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.

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.

__init__(gdf, values, spatial_weights, unique_id, rng=None, verbose=True)[source]#

Methods

__init__(gdf, values, spatial_weights, unique_id)