dragon-ml-toolbox 13.5.0__tar.gz → 13.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dragon-ml-toolbox might be problematic. Click here for more details.

Files changed (46) hide show
  1. {dragon_ml_toolbox-13.5.0/dragon_ml_toolbox.egg-info → dragon_ml_toolbox-13.6.0}/PKG-INFO +1 -1
  2. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0/dragon_ml_toolbox.egg-info}/PKG-INFO +1 -1
  3. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/utilities.py +14 -3
  4. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/pyproject.toml +1 -1
  5. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/LICENSE +0 -0
  6. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/LICENSE-THIRD-PARTY.md +0 -0
  7. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/README.md +0 -0
  8. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/dragon_ml_toolbox.egg-info/SOURCES.txt +0 -0
  9. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/dragon_ml_toolbox.egg-info/dependency_links.txt +0 -0
  10. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/dragon_ml_toolbox.egg-info/requires.txt +0 -0
  11. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/dragon_ml_toolbox.egg-info/top_level.txt +0 -0
  12. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ETL_cleaning.py +0 -0
  13. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ETL_engineering.py +0 -0
  14. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/GUI_tools.py +0 -0
  15. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/MICE_imputation.py +0 -0
  16. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_callbacks.py +0 -0
  17. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_datasetmaster.py +0 -0
  18. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_evaluation.py +0 -0
  19. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_evaluation_multi.py +0 -0
  20. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_inference.py +0 -0
  21. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_models.py +0 -0
  22. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_optimization.py +0 -0
  23. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_scaler.py +0 -0
  24. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_trainer.py +0 -0
  25. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ML_utilities.py +0 -0
  26. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/PSO_optimization.py +0 -0
  27. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/RNN_forecast.py +0 -0
  28. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/SQL.py +0 -0
  29. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/VIF_factor.py +0 -0
  30. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/__init__.py +0 -0
  31. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/_logger.py +0 -0
  32. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/_schema.py +0 -0
  33. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/_script_info.py +0 -0
  34. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/constants.py +0 -0
  35. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/custom_logger.py +0 -0
  36. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/data_exploration.py +0 -0
  37. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ensemble_evaluation.py +0 -0
  38. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ensemble_inference.py +0 -0
  39. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/ensemble_learning.py +0 -0
  40. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/handle_excel.py +0 -0
  41. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/keys.py +0 -0
  42. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/math_utilities.py +0 -0
  43. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/optimization_tools.py +0 -0
  44. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/path_manager.py +0 -0
  45. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/ml_tools/serde.py +0 -0
  46. {dragon_ml_toolbox-13.5.0 → dragon_ml_toolbox-13.6.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 13.5.0
3
+ Version: 13.6.0
4
4
  Summary: A collection of tools for data science and machine learning projects.
5
5
  Author-email: "Karl L. Loza Vidaurre" <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 13.5.0
3
+ Version: 13.6.0
4
4
  Summary: A collection of tools for data science and machine learning projects.
5
5
  Author-email: "Karl L. Loza Vidaurre" <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -96,6 +96,7 @@ def load_dataframe(
96
96
  elif kind == "polars":
97
97
  pl_kwargs: dict[str,Any]
98
98
  pl_kwargs = {}
99
+ pl_kwargs['null_values'] = ["", " "]
99
100
  if use_columns:
100
101
  pl_kwargs['columns'] = use_columns
101
102
 
@@ -288,15 +289,25 @@ def save_dataframe_filename(df: Union[pd.DataFrame, pl.DataFrame], save_dir: Uni
288
289
 
289
290
  # --- Type-specific saving logic ---
290
291
  if isinstance(df, pd.DataFrame):
291
- df.to_csv(output_path, index=False, encoding='utf-8')
292
+ # Transform "" to np.nan before saving
293
+ df_to_save = df.replace(r'^\s*$', np.nan, regex=True)
294
+ # Save
295
+ df_to_save.to_csv(output_path, index=False, encoding='utf-8')
292
296
  elif isinstance(df, pl.DataFrame):
293
- df.write_csv(output_path) # Polars defaults to utf8 and no index
297
+ # Transform empty strings to Null
298
+ df_to_save = df.with_columns(
299
+ pl.when(pl.col(pl.Utf8).str.strip() == "")
300
+ .then(None)
301
+ .otherwise(pl.col(pl.Utf8))
302
+ )
303
+ # Save
304
+ df_to_save.write_csv(output_path)
294
305
  else:
295
306
  # This error handles cases where an unsupported type is passed
296
307
  _LOGGER.error(f"Unsupported DataFrame type: {type(df)}. Must be pandas or polars.")
297
308
  raise TypeError()
298
309
 
299
- _LOGGER.info(f"Saved dataset: '{filename}' with shape: {df.shape}")
310
+ _LOGGER.info(f"Saved dataset: '{filename}' with shape: {df_to_save.shape}")
300
311
 
301
312
 
302
313
  def save_dataframe(df: Union[pd.DataFrame, pl.DataFrame], full_path: Path):
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dragon-ml-toolbox"
3
- version = "13.5.0"
3
+ version = "13.6.0"
4
4
  description = "A collection of tools for data science and machine learning projects."
5
5
  authors = [
6
6
  { name = "Karl L. Loza Vidaurre", email = "luigiloza@gmail.com" }