merge_dicts_by_values

pydriosm.utils.merge_dicts_by_values(data_dict, mapping_dict)[source]

Group and concatenate DataFrames from a dictionary based on a mapping.

This utility takes a dictionary of data (e.g., raw layers) and a mapping dictionary that defines categories. All DataFrames belonging to the same category are concatenated into a single GeoDataFrame/DataFrame.

Parameters:
  • data_dict (dict) – A dictionary where keys match those in mapping_dict and values are pandas/geopandas objects.

  • mapping_dict (dict) – A dictionary mapping data keys to target category names.

Returns:

A dictionary where keys are categories and values are concatenated DataFrames.

Return type:

dict

Examples:

>>> from pydriosm.utils import merge_dicts_by_values
>>> import pandas as pd
>>> d1 = {'a': pd.DataFrame([1]), 'b': pd.DataFrame([2]), 'c': pd.DataFrame([3])}
>>> m1 = {'a': 'group_1', 'b': 'group_1', 'c': 'group_2'}
>>> merged = merge_dicts_by_values(d1, m1)
>>> merged['group_1']
   0
0  1
1  2