featuretools.primitives.TimeSince

class featuretools.primitives.TimeSince(unit='seconds')[source]

Calculates time from a value to a specified cutoff datetime.

Parameters

unit (str) – Defines the unit of time to count from. Defaults to Seconds. Acceptable values: years, months, days, hours, minutes, seconds, milliseconds, nanoseconds

Examples

>>> from datetime import datetime
>>> time_since = TimeSince()
>>> times = [datetime(2019, 3, 1, 0, 0, 0, 1),
...          datetime(2019, 3, 1, 0, 0, 1, 0),
...          datetime(2019, 3, 1, 0, 2, 0, 0)]
>>> cutoff_time = datetime(2019, 3, 1, 0, 0, 0, 0)
>>> values = time_since(array=times, time=cutoff_time)
>>> list(map(int, values))
[0, -1, -120]

Change output to nanoseconds

>>> from datetime import datetime
>>> time_since_nano = TimeSince(unit='nanoseconds')
>>> times = [datetime(2019, 3, 1, 0, 0, 0, 1),
...          datetime(2019, 3, 1, 0, 0, 1, 0),
...          datetime(2019, 3, 1, 0, 2, 0, 0)]
>>> cutoff_time = datetime(2019, 3, 1, 0, 0, 0, 0)
>>> values = time_since_nano(array=times, time=cutoff_time)
>>> list(map(lambda x: int(round(x)), values))
[-1000, -1000000000, -120000000000]
__init__(unit='seconds')[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__([unit])

Initialize self.

generate_name(base_feature_names)

generate_names(base_feature_names)

get_args_string()

get_arguments()

get_filepath(filename)

get_function()

Attributes

base_of

base_of_exclude

commutative

dask_compatible

default_value

input_types

max_stack_depth

name

number_output_features

uses_calc_time

uses_full_entity