Change how data in yeti_format is loaded¶
The load_yeti_format_data_function
specified in a config file is responsible for loading data in yeti_format
from disc. Each load_yeti_format_data_function
is related to a Strategy that works with the output of the
function.
How is load_yeti_format_data_function
called?¶
load_yeti_format_data_function
is called with the single argument kwargs
. kwargs
contains all all
arguments from the config file and the key-value pairs returned by the load_berlin_format_data_function
that
was called earlier in the run.
def load_yeti_format_data(**kwargs):
# load data in yeti_format from file
return {
# return dict with loaded data in yeti_format
}
Example
Say you want to load los speeds data from file, because your Strategy requires los speeds data:
import pandas as pd
def load_yeti_format_data(**kwargs):
los_speeds_data_file = kwargs["yeti_format_los_speeds_data_file"]
los_speeds_data = pd.read_csv(los_speeds_file)
... # load the other relevant datasets
return {
"los_speeds_data": los_speeds_data,
...
}
You need to make sure that eather the config file or the return dictionary from the load_berlin_format_data_function
contains
the key yeti_format_los_speeds_data_file
, so that you can access it in the kwargs
.
What should the load_yeti_format_data_function
return?¶
The function should return a dictionary. The dictionary should contain all dataframes that will be used by the Strategy.
Additionally the return dictionary needs to contain the keys "traffic_data"
, "link_data"
, and "vehicle_data"
.
For example:
def load_yeti_format_data(**kwargs):
# load data in yeti_format from file
return {
"traffic_data": a_data_frame_with_yeti_format_traffic_data,
"link_data": a_data_frame_with_yeti_format_link_data,
"vehicle_data": a_data_frame_with_yeti_format_vehicle_data,
...
}