diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b0fcda..c5e5ef2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## [1.0.1] - 2025-09-10 + +### Bug Fixes + +- Convert dtypes during joining using lydata's `cast_dtypes()`. + ## [1.0.0] - 2025-09-04 ### Bug Fixes @@ -909,6 +915,7 @@ returns `None` instead. Fixes [#11] ## [0.5.3] - 2022-08-22 +[1.0.1]: https://github.com/lycosystem/lyscripts/compare/1.0.0...1.0.1 [1.0.0]: https://github.com/lycosystem/lyscripts/compare/1.0.0rc3...1.0.0 [1.0.0rc3]: https://github.com/lycosystem/lyscripts/compare/1.0.0rc2...1.0.0rc3 [1.0.0rc2]: https://github.com/lycosystem/lyscripts/compare/1.0.0rc1...1.0.0rc2 diff --git a/src/lyscripts/data/join.py b/src/lyscripts/data/join.py index d7eb62e..8b0547e 100644 --- a/src/lyscripts/data/join.py +++ b/src/lyscripts/data/join.py @@ -3,6 +3,7 @@ from pathlib import Path import pandas as pd +from lydata.validator import cast_dtypes from pydantic import Field from lyscripts.cli import assemble_main @@ -61,6 +62,9 @@ def cli_cmd(self) -> None: for data_config in self.inputs: data = data_config.load() + # `cast_dtypes()` ensures that e.g. boolean values are not suddenly + # converted to strings when a dataset with missing values is concatenated. + data = cast_dtypes(data) if joined is None: joined = data else: