biogeme.tools.serialize_numpy module

Tools to transform NaN in numpy arrays in order to be serialized

Michel Bierlaire Mon May 19 2025, 11:57:38

biogeme.tools.serialize_numpy.safe_deserialize_array(serialized)[source]

Convert a flat or nested list with None values (as parsed from YAML or JSON) into a list with None replaced by float(‘nan’).

Parameters:

serialized (list[float | None] | list[list[float | None]]) – A list (1D or 2D) containing float or None values.

Return type:

list[float] | list[list[float]]

Returns:

A list (1D or 2D) with None replaced by float(‘nan’).

biogeme.tools.serialize_numpy.safe_serialize_array(array)[source]

Convert a NumPy array with potential NaN values into a nested or flat list with None in place of np.nan, making it safe for YAML or JSON serialization.

Parameters:

array (ndarray) – A NumPy array that may contain np.nan values.

Return type:

list[float | None] | list[list[float | None]]

Returns:

A list (1D or 2D) with None in place of np.nan, suitable for serialization.