Source code for buildml.date_features._date

import pandas as pd

__author__ = "TechLeo"
__email__ = "techleo.ng@outlook.com"
__copyright__ = "Copyright (c) 2023 TechLeo"
__license__ = "MIT"

[docs] def categorical_to_datetime(data, column): if isinstance(column, list): for items in column: data[items] = pd.to_datetime(data[items]) elif isinstance(column, str): data[column] = pd.to_datetime(data[column]) elif isinstance(column, tuple): for items in column: data[items] = pd.to_datetime(data[items]) return data
[docs] def extract_date_features(data, datetime_column, hrs_mins_sec: bool = False): if hrs_mins_sec == False: if isinstance(datetime_column, list): for items in datetime_column: data[f"Day_{items}"] = data[items].day data[f"Month_{items}"] = data[items].month data[f"Year_{items}"] = data[items].year data[f"Quarter_{items}"] = data[items].quarter data[f"Day_of_Week_{items}"] = data[items].day_of_week elif isinstance(datetime_column, str): data["Day"] = data[datetime_column].day data["Month"] = data[datetime_column].month data["Year"] = data[datetime_column].year data["Quarter"] = data[datetime_column].quarter data["Day_of_Week"] = data[datetime_column].day_of_week elif isinstance(datetime_column, tuple): for items in datetime_column: data[f"Day_{items}"] = data[items].day data[f"Month_{items}"] = data[items].month data[f"Year_{items}"] = data[items].year data[f"Quarter_{items}"] = data[items].quarter data[f"Day_of_Week_{items}"] = data[items].day_of_week return data elif hrs_mins_sec == False: if isinstance(datetime_column, list): for items in datetime_column: data[f"Day_{items}"] = data[items].day data[f"Month_{items}"] = data[items].month data[f"Year_{items}"] = data[items].year data[f"Quarter_{items}"] = data[items].quarter data[f"Day_of_Week_{items}"] = data[items].day_of_week data[f"Hour_{items}"] = data[items].hour data[f"Minutes_{items}"] = data[items].minute data[f"Seconds_{items}"] = data[items].second elif isinstance(datetime_column, str): data["Day"] = data[datetime_column].day data["Month"] = data[datetime_column].month data["Year"] = data[datetime_column].year data["Quarter"] = data[datetime_column].quarter data["Day_of_Week"] = data[datetime_column].day_of_week data[f"Hour_{items}"] = data[items].hour data[f"Minutes_{items}"] = data[items].minute data[f"Seconds_{items}"] = data[items].second elif isinstance(datetime_column, tuple): for items in datetime_column: data[f"Day_{items}"] = data[items].day data[f"Month_{items}"] = data[items].month data[f"Year_{items}"] = data[items].year data[f"Quarter_{items}"] = data[items].quarter data[f"Day_of_Week_{items}"] = data[items].day_of_week data[f"Hour_{items}"] = data[items].hour data[f"Minutes_{items}"] = data[items].minute data[f"Seconds_{items}"] = data[items].second return data