Source code for featuretools.primitives.standard.aggregation.date_first_event

from pandas import NaT
from woodwork.column_schema import ColumnSchema
from woodwork.logical_types import Datetime

from featuretools.primitives.base import AggregationPrimitive


[docs]class DateFirstEvent(AggregationPrimitive): """Determines the first datetime from a list of datetimes. Examples: >>> from datetime import datetime >>> date_first_event = DateFirstEvent() >>> date_first_event([ ... datetime(2011, 4, 9, 10, 30, 10), ... datetime(2011, 4, 9, 10, 30, 20), ... datetime(2011, 4, 9, 10, 30, 30)]) Timestamp('2011-04-09 10:30:10') """ name = "date_first_event" input_types = [ColumnSchema(logical_type=Datetime, semantic_tags={"time_index"})] return_type = ColumnSchema(logical_type=Datetime) stack_on_self = False default_value = 0 def get_function(self): def date_first_event(x): x = x.dropna() if x.empty: return NaT return x.iat[0] return date_first_event