PNUM hard-coded and Vehicle table creation bug fix #953
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes for #951 and #952
This pull request addresses robustness and fallback mechanisms in the
activitysim
codebase by ensuring proper handling of missing columns (PNUM
andauto_ownership
) in key functions. The changes improve the stability and reliability of the model by adding conditional checks and alternative logic.Enhancements to column handling:
joint_tour_frequency_composition.py
: Added a fallback mechanism to handle cases where thePNUM
column is missing. IfPNUM
is unavailable, the first person in each household is selected using stable ordering and grouping byhousehold_id
.joint_tour_participation.py
: Introduced logic to create aPNUM
column dynamically for candidates if it is missing, ensuring that participant IDs can still be assigned correctly.vehicles.py
: Added a check for the presence of theauto_ownership
column in thehouseholds
DataFrame. If missing, the function retrieves theproto_households
table as a fallback to ensure compatibility during disaggregate accessibility calculations.