Skip to content

FIX Preserve NumPy masked-array fill values - #563

Open
ananya-kaul wants to merge 1 commit into
skops-dev:mainfrom
ananya-kaul:ananya/fix-masked-array-fill-value
Open

ananya-kaul wants to merge 1 commit into
skops-dev:mainfrom
ananya-kaul:ananya/fix-masked-array-fill-value

Conversation

@ananya-kaul

Copy link
Copy Markdown

FIX Preserve NumPy masked-array fill values

Saving and loading a masked array currently discards its custom fill value. For example, an integer array with fill_value=-99 uses 999999 after loading, changing the result of filled().

Persist the fill value using the existing NumPy node and restore it when constructing the masked array. Older files without this field retain their default behavior. The new child is included in the type audit and restricted to NdArrayNode.

Validation: 12 round-trip cases fail before the fix and pass afterward, covering integer, floating-point and string data, masked/unmasked arrays, and file/bytes APIs. A compatibility test covers files without the new field, and an audit regression rejects an unexpected child type. Persistence, legacy persistence and audit suites: 1083 passed, 1 skipped, 1 xpassed. Ruff lint/format and focused pyrefly check pass. Tested on macOS with Python 3.13.5; the full project suite and other platforms were not run.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant