build_multi_value_map_list()
Build a list of MultiValueMap objects from a pandas DataFrame.
Usage
build_multi_value_map_list(
df,
source_cols,
target_cols,
valid_from_col="valid_from",
valid_to_col="valid_to"
)Iterates through the DataFrame rows to create mapping objects that map values from multiple source columns to multiple target columns.
Parameters
df: pd.DataFrame-
DataFrame where each row represents a mapping.
source_cols: Sequence[str]-
Column names for source values.
target_cols: Sequence[str]-
Column names for target values.
valid_from_col: str = "valid_from"-
Optional column name for validity start date. Defaults to “valid_from”.
valid_to_col: str = "valid_to"- Optional column name for validity end date. Defaults to “valid_to”.
Returns
list[MultiValueMap]- List of MultiValueMap objects created from the DataFrame.
Raises
ValueError-
If DataFrame is empty or required columns are missing.
TypeError- If source or target columns contain non-string values.
Examples
>>> import pandas as pd
>>> data = {
... 'country': ['DE', 'CH'],
... 'currency_src': ['LC', 'LC'],
... 'currency_tgt': ['EUR', 'CHF'],
... 'region_tgt': ['EU', 'Non-EU']
... }
>>> df = pd.DataFrame(data)
>>> maps = build_multi_value_map_list(
... df,
... ['country', 'currency_src'],
... ['currency_tgt', 'region_tgt']
... )
>>> len(maps)
2
>>> maps[0].source
('DE', 'LC')
>>> maps[0].target
('EUR', 'EU')