시간 델타 다루기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 pandas 라이브러리를 사용하여 Python 에서 시간 델타 (time delta) 를 다루는 과정을 안내합니다. 시간 델타는 지속 시간 또는 시간의 차이를 나타냅니다. 시간 델타를 구성, 조작 및 연산하는 다양한 방법을 살펴볼 것입니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 가져오기

먼저, 필요한 라이브러리를 가져와야 합니다. 이 경우, pandas 와 numpy 를 사용합니다.

## Import the required libraries
import pandas as pd
import numpy as np
import datetime

Timedelta 구성하기

지속 시간 또는 시간의 차이를 나타내는 timedelta 객체를 생성해 보겠습니다.

## Construct a timedelta object
pd.Timedelta("1 days 2 hours")

Timedelta 로 변환하기

인식 가능한 timedelta 형식의 스칼라, 배열, 리스트 또는 시리즈를 timedelta 타입으로 변환할 수 있습니다.

## Convert a string to a timedelta
pd.to_timedelta("1 days 06:05:01.00003")

연산 수행하기

Timedelta 에 대해 수학적 연산을 수행할 수 있습니다.

## Subtract two timedeltas
s = pd.Series(pd.date_range("2012-1-1", periods=3, freq="D"))
s - s.max()

속성 접근하기

Timedelta 의 다양한 구성 요소에 직접 접근할 수 있습니다.

## Access the days attribute of a timedelta
tds = pd.Timedelta("31 days 5 min 3 sec")
tds.days

ISO 8601 Duration 으로 변환하기

Timedelta 를 ISO 8601 Duration 문자열로 변환할 수 있습니다.

## Convert a timedelta to an ISO 8601 Duration string
pd.Timedelta(days=6, minutes=50, seconds=3, milliseconds=10, microseconds=10, nanoseconds=12).isoformat()

Timedelta Index 생성하기

시간 델타 (time delta) 를 사용하여 인덱스를 생성할 수 있습니다.

## Generate a timedelta index
pd.TimedeltaIndex(["1 days", "1 days, 00:00:05", np.timedelta64(2, "D"), datetime.timedelta(days=2, seconds=2)])

Timedelta Index 사용하기

Timedelta index 를 pandas 객체의 인덱스로 사용할 수 있습니다.

## Use the timedelta index as the index of a pandas series
s = pd.Series(np.arange(100), index=pd.timedelta_range("1 days", periods=100, freq="h"))

Timedelta Index 로 연산 수행하기

Timedelta index 를 사용하여 연산을 수행할 수 있습니다.

## Add a timedelta index to a datetime index
tdi = pd.TimedeltaIndex(["1 days", pd.NaT, "2 days"])
dti = pd.date_range("20130101", periods=3)
(dti + tdi).to_list()

Timedelta Index 재표본추출 (Resample)

Timedelta index 를 사용하여 데이터를 재표본추출할 수 있습니다.

## Resample data with a timedelta index
s.resample("D").mean()

요약

이 랩에서는 pandas 라이브러리를 사용하여 Python 에서 시간 델타를 사용하는 방법을 배웠습니다. Timedelta 를 구성하고, Timedelta 로 변환하고, 연산을 수행하고, 속성에 접근하고, ISO 8601 Duration 으로 변환하고, Timedelta index 를 생성하고, Timedelta index 를 사용하고, Timedelta index 로 연산을 수행하고, Timedelta index 를 재표본추출하는 방법을 다루었습니다. 이러한 기술을 통해 향후 데이터 분석 작업에서 시간 기반 데이터를 효율적으로 처리하고 조작할 수 있습니다.