def load_parameters(self, file_name: str) -> ParameterGroup: """Load parameters from XLSX file. Parameters ---------- file_name : str Name of file to be loaded. Returns ------- :class:`ParameterGroup """ df = pd.read_excel(file_name, na_values=["None", "none"]) safe_dataframe_fillna(df, "minimum", -np.inf) safe_dataframe_fillna(df, "maximum", np.inf) return ParameterGroup.from_dataframe(df, source=file_name)
def test_parameter_group_to_from_df(): parameter_group = load_parameters( """ b: - ["1", 0.25, {vary: false, min: 0, max: 8}] - ["2", 0.75, {expr: '1 - $b.1', non-negative: true}] rates: - ["total", 2] - ["branch1", {expr: '$rates.total * $b.1'}] - ["branch2", {expr: '$rates.total * $b.2'}] """, format_name="yml_str", ) for _, p in parameter_group.all(): p.standard_error = 42 parameter_df = parameter_group.to_dataframe() for column in [ "label", "value", "standard-error", "expression", "minimum", "maximum", "non-negative", "vary", ]: assert column in parameter_df assert all(parameter_df["standard-error"] == 42) parameter_group_from_df = ParameterGroup.from_dataframe(parameter_df) for label, wanted in parameter_group.all(): got = parameter_group_from_df.get(label) assert got.label == wanted.label assert got.full_label == wanted.full_label assert got.expression == wanted.expression assert got.maximum == wanted.maximum assert got.minimum == wanted.minimum assert got.non_negative == wanted.non_negative assert got.value == wanted.value assert got.vary == wanted.vary
def load_parameters(self, file_name: str, sep: str = ",") -> ParameterGroup: """Load parameters from CSV file. Parameters ---------- file_name : str Name of file to be loaded. sep: str Other separators can be used optionally., by default ',' Returns ------- :class:`ParameterGroup """ df = pd.read_csv(file_name, skipinitialspace=True, na_values=["None", "none"], sep=sep) safe_dataframe_fillna(df, "minimum", -np.inf) safe_dataframe_fillna(df, "maximum", np.inf) return ParameterGroup.from_dataframe(df, source=file_name)
def load_parameters(self, file_name: str) -> ParameterGroup: df = pd.read_csv(file_name, skipinitialspace=True, na_values=["None", "none"]) return ParameterGroup.from_dataframe(df, source=file_name)