capturegraph.scheduling.distance.time
#
Time Distance - Circular Time-of-Day Distance#
Measures distance between times accounting for the circular nature of the 24-hour clock. Midnight is close to 11:59 PM.
time_of_day(sigma=timedelta(hours=1))
#
Create a circular time-of-day distance function.
Measures the angular distance on the 24-hour clock, treating time as circular (so 11:59 PM is close to 12:01 AM).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sigma
|
timedelta
|
Normalization factor as timedelta. The returned distance is
normalized so times within |
timedelta(hours=1)
|
Returns:
| Type | Description |
|---|---|
Callable[[datetime, datetime], float]
|
A distance function |
Example
import capturegraph.scheduling as cgsh
from datetime import timedelta
# Sessions within 2 hours are "close"
dist_fn = cgsh.distance.time_of_day(sigma=timedelta(hours=2))
# Use with combine for custom attribute
combined = cgsh.distance.combine(
time_of_day=cgsh.distance.time_of_day(sigma=timedelta(hours=1))
)