mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-02-22 17:44:20 -08:00
WIP fema updates
This commit is contained in:
parent
4c04494da9
commit
c0466bd74a
1 changed files with 94 additions and 17 deletions
|
@ -99,27 +99,104 @@ class NationalRiskIndexETL(ExtractTransformLoad):
|
|||
inplace=True,
|
||||
)
|
||||
|
||||
# Population EAL Rate = Eal Valp / Population
|
||||
df_nri[self.EXPECTED_POPULATION_LOSS_RATE_FIELD_NAME] = (
|
||||
df_nri[self.EXPECTED_ANNUAL_LOSS_POPULATION_VALUE_INPUT_FIELD_NAME]
|
||||
/ df_nri[self.POPULATION_INPUT_FIELD_NAME]
|
||||
)
|
||||
|
||||
# Agriculture EAL Rate = Eal Vala / Agrivalue
|
||||
df_nri[self.EXPECTED_AGRICULTURE_LOSS_RATE_FIELD_NAME] = (
|
||||
df_nri[
|
||||
self.EXPECTED_ANNUAL_LOSS_AGRICULTURAL_VALUE_INPUT_FIELD_NAME
|
||||
# Only use disasters linked to climate change
|
||||
disaster_categories = [
|
||||
"AVLN", # Avalanche
|
||||
"CFLD", # Coastal Flooding
|
||||
"CWAV", # Cold Wave
|
||||
"DRGT", # Drought
|
||||
"HAIL", # Hail
|
||||
"HWAV", # Heat Wave
|
||||
"HRCN", # Hurricane
|
||||
"ISTM", # Ice Storm
|
||||
"LNDS", # Landslide
|
||||
"RFLD", # Riverine Flooding
|
||||
"SWND", # Strong Wind
|
||||
"TRND", # Tornado
|
||||
"WFIR", # Wildfire
|
||||
"WNTW", # Winter Weather
|
||||
]
|
||||
/ df_nri[self.AGRICULTURAL_VALUE_INPUT_FIELD_NAME]
|
||||
)
|
||||
|
||||
# divide EAL_VALB (Expected Annual Loss - Building Value) by BUILDVALUE (Building Value ($)).
|
||||
df_nri[self.EXPECTED_BUILDING_LOSS_RATE_FIELD_NAME] = (
|
||||
df_nri[self.EXPECTED_ANNUAL_LOSS_BUILDING_VALUE_INPUT_FIELD_NAME]
|
||||
/ df_nri[self.BUILDING_VALUE_INPUT_FIELD_NAME]
|
||||
)
|
||||
disaster_population_sum = df_nri[
|
||||
[str(x) + "_EALP" for x in disaster_categories]
|
||||
].sum(axis=1)
|
||||
print("Population sum is")
|
||||
print(disaster_population_sum)
|
||||
# Some disaster categories do not have agriculture value column
|
||||
agri_columns = [str(x) + "_EALA" for x in disaster_categories if str(x) + "_EALA" in list(df_nri.columns)]
|
||||
disaster_agriculture_sum = df_nri[
|
||||
agri_columns
|
||||
].sum(axis=1)
|
||||
print("Agri sum is")
|
||||
print(disaster_agriculture_sum)
|
||||
disaster_building_sum = df_nri[
|
||||
[str(x) + "_EALB" for x in disaster_categories]
|
||||
].sum(axis=1)
|
||||
print("Building sum is")
|
||||
print(disaster_building_sum)
|
||||
|
||||
self.df = df_nri
|
||||
# # Note: I'm not sure why pylint is so upset with this particular dataframe,
|
||||
# # but it may be a known bug. https://github.com/PyCQA/pylint/issues/1498
|
||||
# for category in disaster_categories:
|
||||
# df_nri[ # pylint: disable=unsupported-assignment-operation
|
||||
# f"{category} - Population"
|
||||
# ] = (
|
||||
# df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# f"{category}_EALP"
|
||||
# ] # Expected Annual Loss - Population
|
||||
# / df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# f"{category}_EXPP"
|
||||
# ]
|
||||
# )
|
||||
# df_nri[ # pylint: disable=unsupported-assignment-operation
|
||||
# f"{category} - Agriculture"
|
||||
# ] = (
|
||||
# df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# f"{category}_EALA"
|
||||
# ] # Expected Annual Loss - Agriculture
|
||||
# / df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# f"{category}_EXPA"
|
||||
# ]
|
||||
# )
|
||||
# df_nri[ # pylint: disable=unsupported-assignment-operation
|
||||
# f"{category} - Building Value"
|
||||
# ] = (
|
||||
# df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# f"{category}_EALB"
|
||||
# ] # Expected Annual Loss - Building Value
|
||||
# / df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# f"{category}_EXPB"
|
||||
# ]
|
||||
# )
|
||||
|
||||
|
||||
# df_nri[ # pylint: disable=unsupported-assignment-operation
|
||||
# self.EXPECTED_ANNUAL_LOSS_RATE
|
||||
# ] = df_nri[ # pylint: disable=unsubscriptable-object
|
||||
# disaster_categories
|
||||
# ].sum(
|
||||
# axis=1
|
||||
# )
|
||||
# Population EAL Rate = Eal Valp / Population
|
||||
#
|
||||
# disaster_categories = [AEVN, CFLD, ] -> [AEVN - Population, CFLD - Population, ]
|
||||
#
|
||||
# df_nri[self.EXPECTED_POPULATION_LOSS_RATE_FIELD_NAME] = df_nri[
|
||||
# [str(x) + " - Population" for x in disaster_categories]
|
||||
# ]
|
||||
|
||||
|
||||
# # Agriculture EAL Rate = Eal Vala / Agrivalue
|
||||
# df_nri[self.EXPECTED_AGRICULTURE_LOSS_RATE_FIELD_NAME] = (
|
||||
|
||||
# )
|
||||
|
||||
# # divide EAL_VALB (Expected Annual Loss - Building Value) by BUILDVALUE (Building Value ($)).
|
||||
# df_nri[self.EXPECTED_BUILDING_LOSS_RATE_FIELD_NAME] = (
|
||||
|
||||
# )
|
||||
|
||||
# self.df = df_nri
|
||||
|
||||
def load(self) -> None:
|
||||
"""Writes the NRI data as a csv to the directory at self.OUTPUT_DIR"""
|
||||
|
|
Loading…
Add table
Reference in a new issue