Add filter() method to TransitionTable - #49
Merged
Conversation
Allows extracting a sub-table for a subset of keys without re-normalising. Preserves the order of the provided keys.
Avoids TypeError on mixed key types when building error messages in reorder() and filter().
There was a problem hiding this comment.
Pull request overview
This PR extends TransitionTable with a filter(keys) API to extract a square sub-table (rows/columns) for a specified subset of keys while preserving the caller-provided order and validating unknown/duplicate keys.
Changes:
- Added
TransitionTable.filter(keys)implementation (subset extraction without re-normalization). - Updated
TransitionTabledocstring to include the new API. - Added a dedicated unittest suite covering filtering behavior and key validation.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
site_analysis/transition_table.py |
Adds filter() and adjusts reorder() error reporting details. |
tests/test_transition_table.py |
Adds test coverage for the new filter() behavior and chaining with reorder(). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add API docs page for transition_table module - Add transition tables guide covering usage, filtering, reordering, and the distinction between counts and probabilities - Update tutorial and notebook generator to use filter() instead of manual np.ix_ slicing - Simplify print_transition_table helper to use table.keys directly
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
TransitionTable.filter(keys)method for extracting a sub-table containing only the specified keys (rows and columns)