Source code for src.simulation.calculate_susceptibility

import warnings


[docs]def calculate_susceptibility(states, params, seed): # noqa: U100 """Calculate the susceptibility factor for each individual. Parameters are loaded from params. The defaults in sid-germany are taken from https://go.nature.com/3foGBaf (extended data fig. 4). Args: states (pandas.DataFrame): sid DataFrame. It must contain an age_group column whose values fit the "name" index in the params of the susceptibility values. params (pandas.DataFrame): It must have a 3 level MultiIndex with entries whose first two values are "susceptibility" and whose last index value are the values age_group can take. The "value" column values must be floats. seed (int): not used. Returns: susceptibility (pandas.Series): Series with the same index as states. The values are the susceptibilities for each age group as given in the params. """ with warnings.catch_warnings(): warnings.filterwarnings( "ignore", message="indexing past lexsort depth may impact performance." ) factors = params.loc[("susceptibility", "susceptibility"), "value"] susceptibility = states["age_group"].replace(factors) susceptibility.name = "susceptibility" return susceptibility