.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/swissmetro/swissmetro_panel.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_swissmetro_swissmetro_panel.py: .. _swissmetro_panel: Panel data preparation for Swissmetro ===================================== Data preparation for Swissmetro, and definition of the variables in panel configuration :author: Michel Bierlaire, EPFL :date: Mon Mar 6 15:17:03 2023 .. GENERATED FROM PYTHON SOURCE LINES 15-20 .. code-block:: default import pandas as pd import biogeme.database as db from biogeme.expressions import Variable .. GENERATED FROM PYTHON SOURCE LINES 21-22 Read the data .. GENERATED FROM PYTHON SOURCE LINES 22-25 .. code-block:: default df = pd.read_csv('swissmetro.dat', sep='\t') database = db.Database('swissmetro', df) .. GENERATED FROM PYTHON SOURCE LINES 26-27 Definition of the variables. .. GENERATED FROM PYTHON SOURCE LINES 27-44 .. code-block:: default PURPOSE = Variable('PURPOSE') CHOICE = Variable('CHOICE') GA = Variable('GA') TRAIN_CO = Variable('TRAIN_CO') CAR_AV = Variable('CAR_AV') SP = Variable('SP') TRAIN_AV = Variable('TRAIN_AV') TRAIN_TT = Variable('TRAIN_TT') SM_TT = Variable('SM_TT') CAR_TT = Variable('CAR_TT') CAR_CO = Variable('CAR_CO') SM_CO = Variable('SM_CO') SM_AV = Variable('SM_AV') MALE = Variable('MALE') GROUP = Variable('GROUP') INCOME = Variable('INCOME') .. GENERATED FROM PYTHON SOURCE LINES 45-46 Removing some observations. .. GENERATED FROM PYTHON SOURCE LINES 46-49 .. code-block:: default exclude = ((PURPOSE != 1) * (PURPOSE != 3) + (CHOICE == 0)) > 0 database.remove(exclude) .. GENERATED FROM PYTHON SOURCE LINES 50-51 Definition of new variables .. GENERATED FROM PYTHON SOURCE LINES 51-62 .. code-block:: default SM_COST = database.DefineVariable('SM_COST', SM_CO * (GA == 0)) TRAIN_COST = database.DefineVariable('TRAIN_COST', TRAIN_CO * (GA == 0)) CAR_AV_SP = database.DefineVariable('CAR_AV_SP', CAR_AV * (SP != 0)) TRAIN_AV_SP = database.DefineVariable('TRAIN_AV_SP', TRAIN_AV * (SP != 0)) TRAIN_TT_SCALED = database.DefineVariable('TRAIN_TT_SCALED', TRAIN_TT / 100) TRAIN_COST_SCALED = database.DefineVariable('TRAIN_COST_SCALED', TRAIN_COST / 100) SM_TT_SCALED = database.DefineVariable('SM_TT_SCALED', SM_TT / 100) SM_COST_SCALED = database.DefineVariable('SM_COST_SCALED', SM_COST / 100) CAR_TT_SCALED = database.DefineVariable('CAR_TT_SCALED', CAR_TT / 100) CAR_CO_SCALED = database.DefineVariable('CAR_CO_SCALED', CAR_CO / 100) .. GENERATED FROM PYTHON SOURCE LINES 63-64 Qualify the data as panel. ID identifies the individuals. .. GENERATED FROM PYTHON SOURCE LINES 64-66 .. code-block:: default database.panel('ID') .. GENERATED FROM PYTHON SOURCE LINES 67-68 We flatten the database, so that each row corresponds to one individual. .. GENERATED FROM PYTHON SOURCE LINES 68-70 .. code-block:: default flat_df = database.generateFlatPanelDataframe(identical_columns=None) flat_database = db.Database('swissmetro_flat', flat_df) .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 0.000 seconds) .. _sphx_glr_download_auto_examples_swissmetro_swissmetro_panel.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: swissmetro_panel.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: swissmetro_panel.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_