ebm.model.column_operations module

explode_building_category_column(df: DataFrame, unique_columns: List[str]) DataFrame[source]

Explodes the ‘building_category’ column in the DataFrame into multiple columns based on residential and non-residential categories.

Parameters

dfpd.DataFrame

The input DataFrame containing the ‘building_category’ column.

unique_columnsList[str]

List of columns to use for de-duplication.

Returns

pd.DataFrame

The DataFrame with exploded ‘building_category’ columns.

explode_building_code_column(df: DataFrame, unique_columns: List[str], default_building_code: None | DataFrame = None) DataFrame[source]

Explodes the ‘building_code’ column in the DataFrame into multiple columns based on the provided building_codelist.

Parameters

dfpd.DataFrame

The input DataFrame containing the ‘building_code’ column.

unique_columnsList[str]

List of columns to use for de-duplication.

default_building_codeOptional[pd.DataFrame], optional

DataFrame containing default building_codevalues. If not provided, building_codevalues are read from ‘input/building_codes.csv’.

Returns

pd.DataFrame

The DataFrame with exploded ‘building_code’ columns.

explode_unique_columns(df: DataFrame | DataFrameBase, unique_columns: List[str], default_building_code: List[str] | None = None) DataFrame[source]

Explodes ‘building_code’ and ‘building_category’ columns in df.

Parameters

dfpd.DataFrame

The input DataFrame containing the columns to be exploded.

unique_columnsList[str]

List of columns to use for de-duplication.

default_building_codeList[str], optional

List of TEKs to replace default

Returns

pd.DataFrame

The DataFrame with exploded columns.

explode_column_alias(df, column, values: list | dict = None, alias='default', de_dup_by: list[str] = None)[source]

Explodes a specified column in the DataFrame into multiple rows based on provided values and alias.

Parameters

dfpd.DataFrame

The input DataFrame containing the column to be exploded.

columnstr

The name of the column to be exploded.

valuesOptional[List[str], dict[str, list[str]], optional

List or dict of values to explode the column by. If not provided, unique values from the column excluding the alias are used.

aliasstr, optional

The alias to be used for default values. Default is ‘default’. When values is a dict the parameter alias is ignored

de_dup_byOptional[List[str]], optional

List of columns to use for de-duplication. If not provided, no de-duplication is performed.

Returns

pd.DataFrame

The DataFrame with the exploded column.

Examples

>>> d_f = pd.DataFrame({'category': ['A', 'B', 'default']})
>>> explode_column_alias(d_f, column='category', values=['A', 'B'], alias='default')
   category
0         A
1         B
2         A
2         B
replace_column_alias(df: DataFrame, column: str, values: list | dict | None = None, alias: str | None = 'default', de_dup_by=None) DataFrame[source]
explode_column(df: DataFrame, column: str) DataFrame[source]