aequilibrae.distribution.Ipf#
- class aequilibrae.distribution.Ipf(project=None, **kwargs)[source]#
Iterative proportional fitting procedure
>>> from aequilibrae.distribution import Ipf >>> import pandas as pd >>> import numpy as np >>> project = create_example(project_path) >>> matrix = project.matrices.get_matrix("demand_omx") >>> matrix.computational_view() >>> vectors = pd.DataFrame({"productions":np.zeros(matrix.zones), "attractions":np.zeros(matrix.zones)}, index=matrix.index) >>> vectors["productions"] = matrix.rows() >>> vectors["attractions"] = matrix.columns() >>> ipf_args = {"matrix": matrix, ... "vectors": vectors, ... "row_field": "productions", ... "column_field": "attractions", ... "nan_as_zero": False} >>> fratar = Ipf(**ipf_args) >>> fratar.fit() # We can get back to our OMX matrix in the end >>> fratar.output.export(os.path.join(my_folder_path, "to_omx_output.omx"))
- __init__(project=None, **kwargs)[source]#
Instantiates the IPF problem
- Arguments:
matrix (
AequilibraeMatrix): Seed Matrixvectors (
pd.DataFrame): Dataframe with the vectors to be used for the IPFrow_field (
str): Field name that contains the data for the row totalscolumn_field (
str): Field name that contains the data for the column totalsparameters (
str, Optional): Convergence parameters. Defaults to those in the parameter filenan_as_zero (
bool, Optional): If Nan values should be treated as zero. Defaults toTrue- Results:
output (
AequilibraeMatrix): Result Matrixreport (
list): Iteration and convergence reporterror (
str): Error description
Methods
__init__([project])Instantiates the IPF problem
fit()Runs the IPF instance problem to adjust the matrix
save_to_project(name, file_name[, project])Saves the matrix output to the project file
- fit()[source]#
Runs the IPF instance problem to adjust the matrix
Resulting matrix is the output class member
- save_to_project(name: str, file_name: str, project=None) MatrixRecord[source]#
Saves the matrix output to the project file
- Arguments:
name (
str): Name of the desired matrix recordfile_name (
str): Name for the matrix file name. AEM and OMX supportedproject (
Project, Optional): Project we want to save the results to. Defaults to the active project