.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/timing/swissmetro.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_timing_swissmetro.py: .. _swissmetro_data: Data preparation for Swissmetro =============================== Data preparation and definition of the variables. :author: Michel Bierlaire, EPFL :date: Mon Mar 6 15:17:03 2023 .. GENERATED FROM PYTHON SOURCE LINES 13-88 .. code-block:: Python import pandas as pd from biogeme.database import Database from biogeme.expressions import Variable import os def read_data() -> Database: """Read the data from file""" # Construct the path to the data file data_file_path = 'swissmetro.dat' # %% # Read the data. df = pd.read_csv(data_file_path, sep='\t') database = Database('swissmetro', df) exclude = CHOICE == 0 # exclude = ((PURPOSE != 1) * (PURPOSE != 3) + (CHOICE == 0)) > 0 database.remove(exclude) # Definition of new variables. _ = database.DefineVariable('SM_COST', SM_CO * (GA == 0)) _ = database.DefineVariable('TRAIN_COST', TRAIN_CO * (GA == 0)) _ = database.DefineVariable('CAR_AV_SP', CAR_AV * (SP != 0)) _ = database.DefineVariable('TRAIN_AV_SP', TRAIN_AV * (SP != 0)) _ = database.DefineVariable('TRAIN_TT_SCALED', TRAIN_TT / 100) _ = database.DefineVariable('TRAIN_COST_SCALED', TRAIN_COST / 100) _ = database.DefineVariable('SM_TT_SCALED', SM_TT / 100) _ = database.DefineVariable('SM_COST_SCALED', SM_COST / 100) _ = database.DefineVariable('CAR_TT_SCALED', CAR_TT / 100) _ = database.DefineVariable('CAR_CO_SCALED', CAR_CO / 100) return database # Definition of the variables. GROUP = Variable('GROUP') SURVEY = Variable('SURVEY') SP = Variable('SP') ID = Variable('ID') PURPOSE = Variable('PURPOSE') FIRST = Variable('FIRST') TICKET = Variable('TICKET') WHO = Variable('WHO') LUGGAGE = Variable('LUGGAGE') AGE = Variable('AGE') MALE = Variable('MALE') INCOME = Variable('INCOME') GA = Variable('GA') ORIGIN = Variable('ORIGIN') DEST = Variable('DEST') TRAIN_AV = Variable('TRAIN_AV') CAR_AV = Variable('CAR_AV') SM_AV = Variable('SM_AV') TRAIN_TT = Variable('TRAIN_TT') TRAIN_CO = Variable('TRAIN_CO') TRAIN_HE = Variable('TRAIN_HE') SM_TT = Variable('SM_TT') SM_CO = Variable('SM_CO') SM_HE = Variable('SM_HE') SM_SEATS = Variable('SM_SEATS') CAR_TT = Variable('CAR_TT') CAR_CO = Variable('CAR_CO') CHOICE = Variable('CHOICE') SM_COST = Variable('SM_COST') TRAIN_COST = Variable('TRAIN_COST') CAR_AV_SP = Variable('CAR_AV_SP') TRAIN_AV_SP = Variable('TRAIN_AV_SP') TRAIN_TT_SCALED = Variable('TRAIN_TT_SCALED') TRAIN_COST_SCALED = Variable('TRAIN_COST_SCALED') SM_TT_SCALED = Variable('SM_TT_SCALED') SM_COST_SCALED = Variable('SM_COST_SCALED') CAR_TT_SCALED = Variable('CAR_TT_SCALED') CAR_CO_SCALED = Variable('CAR_CO_SCALED') .. _sphx_glr_download_auto_examples_timing_swissmetro.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: swissmetro.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: swissmetro.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: swissmetro.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_