Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

time_range: 조회할 시간 구간 선택

foundryts.functions.time_range(start=None, end=None)는 시계열 하나에서 지정한 시간 범위의 관측을 남기는 함수를 반환합니다. 입력과 출력은 FunctionNode이며, 선택한 구간도 후속 계산에 사용할 시계열입니다.

전체 시계열 대신 필요한 구간을 조회하면 백엔드가 읽을 관측점을 줄일 수 있습니다.

경계 인수

인수형식기본 인수경계
startint, str 또는 datetimeNone지정한 시작 시각 포함
endint, str 또는 datetimeNone지정한 종료 시각 제외

정수 시각은 Unix epoch 이후 나노초입니다. start를 생략하면 첫 관측부터, end를 생략하면 마지막 관측까지 포함합니다. 두 경계를 모두 지정하면 [start, end) 구간을 선택합니다.

관측 시각을 일정한 간격만큼 옮기는 time_shift와는 구분합니다. time_range는 범위를 선택하며 남은 관측의 시각이나 값을 바꾸지 않습니다.

가상 관측과 네 가지 범위

import foundryts.functions as F

series = F.points(
    (1, 1.0),
    (101, 2.0),
    (200, 4.0),
    (201, 8.0),
    name="series",
)
bounded = F.time_range(start=200, end=202)(series)
narrower = F.time_range(start=200, end=201)(series)
unbounded_start = F.time_range(end=201)(series)
unbounded_end = F.time_range(start=101)(series)
bounded_df = bounded.to_pandas()

각 노드를 평가할 때 유지하는 관측은 다음과 같습니다. 괄호는 (시각 ns, 값)입니다.

범위유지하는 관측
start=200, end=202(200, 4.0), (201, 8.0)
start=200, end=201(200, 4.0)
end=201만 지정(1, 1.0), (101, 2.0), (200, 4.0)
start=101만 지정(101, 2.0), (200, 4.0), (201, 8.0)

bounded_df의 가상 결과는 다음 두 행입니다.

timestampvalue
1970-01-01 00:00:00.0000002004.0
1970-01-01 00:00:00.0000002018.0

출력 timestamp는 pandas.Timestamp이고 value는 입력 시계열에 따라 float 또는 str입니다. 여러 시계열을 여러 구간으로 나누려면 NodeCollection.map_intervals를 사용할 수 있습니다.