From 4b36db151ae4fcddcf10ca703ee9ce51e0611eea Mon Sep 17 00:00:00 2001 From: Alexandre Quemy Date: Mon, 8 Jan 2024 10:54:45 +0100 Subject: [PATCH] fix: allow timedelta type for period (#1525) * fix: allow timedelta type for period * fix(linting): code formatting --------- Co-authored-by: Azory YData Bot --- src/ydata_profiling/model/description.py | 4 +++- src/ydata_profiling/profile_report.py | 13 +++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/ydata_profiling/model/description.py b/src/ydata_profiling/model/description.py index bdf741103..c738ec1c7 100644 --- a/src/ydata_profiling/model/description.py +++ b/src/ydata_profiling/model/description.py @@ -2,6 +2,8 @@ from datetime import datetime, timedelta from typing import Any, Dict, List, Optional, Union +from pandas import Timedelta + @dataclass class BaseAnalysis: @@ -55,7 +57,7 @@ class TimeIndexAnalysis: length: Union[int, List[int]] start: Any end: Any - period: Union[float, List[float]] + period: Union[float, List[float], Timedelta, List[Timedelta]] frequency: Union[Optional[str], List[Optional[str]]] def __init__( diff --git a/src/ydata_profiling/profile_report.py b/src/ydata_profiling/profile_report.py index 201ba471a..fe07c73a4 100644 --- a/src/ydata_profiling/profile_report.py +++ b/src/ydata_profiling/profile_report.py @@ -3,8 +3,9 @@ import warnings from pathlib import Path from typing import Any, Optional, Union + from PIL import Image -import warnings + with warnings.catch_warnings(): warnings.simplefilter("ignore") import pkg_resources @@ -103,11 +104,9 @@ def __init__( type_schema: optional dict containing pairs of `column name`: `type` **kwargs: other arguments, for valid arguments, check the default configuration file. """ - self.__validate_inputs(df, minimal, tsmode, config_file, lazy) - - + if config_file or minimal: if not config_file: config_file = get_config("config_minimal.yaml") @@ -352,9 +351,11 @@ def to_file(self, output_file: Union[str, Path], silent: bool = True) -> None: with warnings.catch_warnings(): warnings.simplefilter("ignore") pillow_version = pkg_resources.get_distribution("Pillow").version - version_tuple = tuple(map(int, pillow_version.split('.'))) + version_tuple = tuple(map(int, pillow_version.split("."))) if version_tuple < (9, 5, 0): - warnings.warn("Try running command: 'pip install --upgrade Pillow' to avoid ValueError") + warnings.warn( + "Try running command: 'pip install --upgrade Pillow' to avoid ValueError" + ) if not isinstance(output_file, Path): output_file = Path(str(output_file))