-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Improve handling of dtype and NaT when encoding/decoding masked and packaged datetimes and timedeltas #10050
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…handle partial coding
for more information, see https://pre-commit.ci
Thanks @kmuehlbauer—I'll try and take a look soon. It reminds me that maybe we should also resurrect #9498. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again @kmuehlbauer—tricky issues. I think I generally follow the changes—a couple questions to start out.
@spencerkclark Thanks for highlighting these issues. I think I've followed your hints and suggestions to improve here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @kmuehlbauer! This looks good to me now.
Co-authored-by: Spencer Clark <[email protected]>
…passing decode_times and decode_timedelta to CFMaskCoder and CFScaleOffsetCoder
* main: (67 commits) Refactor datetime and timedelta encoding for increased robustness (pydata#9498) Fix test_distributed::test_async (pydata#10138) Refactor concat / combine / merge into `xarray/structure` (pydata#10134) Split `apply_ufunc` out of `computation.py` (pydata#10133) Refactor modules from `core` into `xarray.computation` (pydata#10132) Refactor compatibility modules into xarray.compat package (pydata#10131) Fix type issues from pandas stubs (pydata#10128) Don't skip tests when on a `mypy` branch (pydata#10129) Change `python_files` in `pyproject.toml` to a list (pydata#10127) Better `uv` compatibility (pydata#10124) explicitly cast the dtype of `where`'s condition parameter to `bool` (pydata#10087) Use `to_numpy` in time decoding (pydata#10081) Pin pandas stubs (pydata#10119) Fix broken Zarr test (pydata#10109) Update asv badge url in README.md (pydata#10113) fix and supress some test warnings (pydata#10104) Improve handling of dtype and NaT when encoding/decoding masked and packaged datetimes and timedeltas (pydata#10050) Ensure KeyError raised for zarr datasets missing dim names (pydata#10025) Add typos check to pre-commit hooks (pydata#10040) Bump codecov/codecov-action from 5.3.1 to 5.4.0 in the actions group (pydata#10090) ...
whats-new.rst
Expecially for datetime/timedelta decoding we are still running into issue when partly decoding or issues when trying to roundtrip partially decoded data. Another issue is with keeping track of state for packed data / masked data. This PR solves this by adding state to CFMaskCoder/CFScaleOffsetCoder.