oasislmf.preparation.summaries

Module Contents

Functions

get_useful_summary_cols(oed_hierarchy)

get_xref_df(il_inputs_df)

get_summary_mapping(inputs_df, oed_hierarchy[, ...])

Create a DataFrame with linking information between Ktools OasisFiles

merge_oed_to_mapping(summary_map_df, exposure_df, ...)

Create a factorized col (summary ids) based on a list of oed column names

write_summary_levels(exposure_df, accounts_df, ...)

Json file with list Available / Recommended columns for use in the summary reporting

write_mapping_file(sum_inputs_df, target_dir[, ...])

Writes a summary map file, used to build summarycalc xref files.

generate_summaryxref_files(location_df, account_df, ...)

Top level function for creating the summaryxref files from the manager.py

get_exposure_summary(exposure_df, keys_df[, ...])

Create exposure summary as dictionary of TIVs and number of locations

write_exposure_summary(target_dir, exposure_df, ...)

Create exposure summary as dictionary of TIVs and number of locations

oasislmf.preparation.summaries.get_useful_summary_cols(oed_hierarchy)[source]
oasislmf.preparation.summaries.get_xref_df(il_inputs_df)[source]
oasislmf.preparation.summaries.get_summary_mapping(inputs_df, oed_hierarchy, is_fm_summary=False)[source]

Create a DataFrame with linking information between Ktools OasisFiles And the Exposure data

Parameters:
  • inputs_df (pandas.DataFrame) – datafame from gul_inputs.get_gul_input_items(..) / il_inputs.get_il_input_items(..)

  • is_fm_summary (bool) – Indicates whether an FM summary mapping is required

Returns:

Subset of columns from gul_inputs_df / il_inputs_df

Return type:

pandas.DataFrame

oasislmf.preparation.summaries.merge_oed_to_mapping(summary_map_df, exposure_df, oed_column_set, defaults=None)[source]

Create a factorized col (summary ids) based on a list of oed column names

:param :summary_map_df dataframe return from get_summary_mapping :type summary_map_df: pandas.DataFrame

Parameters:
  • exposure_df (pandas.DataFrame) – Summary map file path

  • defaults (dict) – Dictionary of vaules to fill NaN columns with

{‘Col_A’: 0, ‘Col_B’: 1, ‘Col_C’: 2}

Returns:

New DataFrame of summary_map_df + exposure_df merged on exposure index

Return type:

pandas.DataFrame

oasislmf.preparation.summaries.write_summary_levels(exposure_df, accounts_df, exposure_data, target_dir)[source]

Json file with list Available / Recommended columns for use in the summary reporting

Available: Columns which exists in input files and has at least one non-zero / NaN value Recommended: Columns which are available + also in the list of useful groupings SUMMARY_LEVEL_LOC

{
‘GUL’: {
‘available’: [‘AccNumber’,

‘LocNumber’, ‘istenant’, ‘buildingid’, ‘countrycode’, ‘latitude’, ‘longitude’, ‘streetaddress’, ‘postalcode’, ‘occupancycode’, ‘constructioncode’, ‘locperilscovered’, ‘BuildingTIV’, ‘ContentsTIV’, ‘BITIV’, ‘PortNumber’],

‘IL’: {

… etc …

}

}

oasislmf.preparation.summaries.write_mapping_file(sum_inputs_df, target_dir, is_fm_summary=False)[source]

Writes a summary map file, used to build summarycalc xref files.

Parameters:
  • summary_mapping (pandas.DataFrame) – dataframe return from get_summary_mapping

  • sum_mapping_fp (str) – Summary map file path

  • is_fm_summary (bool) – Indicates whether an FM summary mapping is required

Returns:

Summary xref file path

Return type:

str

oasislmf.preparation.summaries.generate_summaryxref_files(location_df, account_df, model_run_fp, analysis_settings, il=False, ri=False, gul_item_stream=False, fmpy=False)[source]

Top level function for creating the summaryxref files from the manager.py

Parameters:
  • model_run_fp (str) – Model run directory file path

  • analysis_settings (dict) – Model analysis settings file

  • il (bool) – Boolean to indicate the insured loss level mode - false if the source accounts file path not provided to Oasis files gen.

  • ri – Boolean to indicate the RI loss level mode - false if the source accounts file path not provided to Oasis files gen.

  • gul_items (bool) – Boolean to gul to use item_id instead of coverage_id

  • fmpy (bool) – Boolean to indicate whether fmpy python version will be used

oasislmf.preparation.summaries.get_exposure_summary(exposure_df, keys_df, exposure_profile=get_default_exposure_profile())[source]

Create exposure summary as dictionary of TIVs and number of locations grouped by peril and validity respectively. returns a python dict().

Parameters:
  • exposure_df – source exposure dataframe

  • keys_df – dataFrame holding keys data (success and errors)

  • exposure_profile (dict) – profile defining exposure file

Returns:

Exposure summary dictionary

Return type:

dict

oasislmf.preparation.summaries.write_exposure_summary(target_dir, exposure_df, keys_fp, keys_errors_fp, exposure_profile)[source]

Create exposure summary as dictionary of TIVs and number of locations grouped by peril and validity respectively. Writes dictionary as json file to disk.

Parameters:
  • target_dir (str) – directory on disk to write exposure summary file

  • exposure_df – source exposure dataframe

  • keys_fp (str) – file path to keys file

  • keys_errors_fp (str) – file path to keys errors file

  • exposure_profile (dict) – profile defining exposure file

Returns:

Exposure summary file path

Return type:

str