Investigate routes with ratio > 1
There are some routes that have a ratio of actual trips to scheduled trips greater than one, and it would be good to know why.
Access the data
Jupyter Notebook
To access the data, run the notebook compare_scheduled_and_rt.ipynb. Add a cell at the bottom with %store summary and run it. The %store magic command allows you to share variables between notebooks https://stackoverflow.com/questions/31621414/share-data-between-ipython-notebooks.
Next, run the static_gtfs_analysis.ipynb. Add a cell at the bottom with %store -r summary and run it to read the summary DataFrame from the compare_scheduled_and_rt.ipynb notebook. Merge the summary DataFrame with the final_gdf GeoDataFrame from the compare_scheduled_and_rt.ipynb using summary_gdf = summary.merge(final_gdf, how="right", on="route_id")
Python
Run the following in an interpreter from the project root:
import pandas as pd
import data_analysis.compare_scheduled_and_rt as csrt
import data_analysis.static_gtfs_analysis as sga
summary_df = csrt.main()
gdf = sga.main()
summary_gdf = summary_df.merge(gdf, how="right", on="route_id")
Find routes with ratio > 1
To filter the rows with ratio > 1, use
ratio_over_one = summary_gdf.loc[summary_gdf.ratio > 1]
ratio_over_one.head()
A few things to look for:
Investigate routes with
ratio > 1There are some routes that have a ratio of actual trips to scheduled trips greater than one, and it would be good to know why.
Access the data
Jupyter Notebook
To access the data, run the notebook
compare_scheduled_and_rt.ipynb. Add a cell at the bottom with%store summaryand run it. The%storemagic command allows you to share variables between notebooks https://stackoverflow.com/questions/31621414/share-data-between-ipython-notebooks.Next, run the
static_gtfs_analysis.ipynb. Add a cell at the bottom with%store -r summaryand run it to read thesummaryDataFrame from thecompare_scheduled_and_rt.ipynbnotebook. Merge thesummaryDataFrame with thefinal_gdfGeoDataFrame from thecompare_scheduled_and_rt.ipynbusingsummary_gdf = summary.merge(final_gdf, how="right", on="route_id")Python
Run the following in an interpreter from the project root:
Find routes with
ratio > 1To filter the rows with
ratio > 1, useA few things to look for:
ratio > 1after reaggregting data based on a different frequency e.g. daily, see [Data] Adjust realtime/scheduled data comparison to cover multiple time frames or averages (for example, average over entire period vs. avg by day vs. avg by hour across entire period) #12