Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – Timedelta를 ISO 8601 형식으로 변환하는 방법

Pandas에서 Timedelta 객체를 ISO 8601 형식으로 변환하려면 isoformat() 메서드를 사용하면 됩니다. 이 메서드는 시간 간격을 'P4DT11H38M20S'와 같은 국제 표준(ISO 8601) 문자열로 반환해 주기 때문에, 데이터 교환이나 API 연동 시 매우 유용합니다.

1. 라이브러리 임포트

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

2. Timedelta 객체 생성

다음과 같이 일, 시간, 분, 초, 밀리초, 나노초 단위를 조합하여 Timedelta 객체를 생성할 수 있습니다.

timedelta = pd.Timedelta('4 days 11 hours 38 min 20 s 35 ms 55 ns')

3. Timedelta 확인하기

생성된 Timedelta 객체를 화면에 출력해 확인합니다.

print("Timedelta...\n", timedelta)

4. ISO 8601 형식으로 변환

isoformat() 메서드를 호출하면 Timedelta가 ISO 8601 표준 형식의 문자열로 변환됩니다.

timedelta.isoformat()

전체 예제 코드

지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.

import pandas as pd

# Timedelta 객체 생성
timedelta = pd.Timedelta('4 days 11 hours 38 min 20 s 35 ms 55 ns')

# Timedelta 출력
print("Timedelta...\n", timedelta)

# ISO 8601 형식으로 변환
res = timedelta.isoformat()

# 변환된 결과 출력
print("\nISO 8601 형식으로 변환된 Timedelta...\n", res)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Timedelta...
4 days 11:38:20.035000055

ISO 8601 형식으로 변환된 Timedelta...
P4DT11H38M20.035000055S

결과 해석

출력된 ISO 8601 문자열은 다음과 같이 구성되어 있습니다.

  • P: 기간(Duration)임을 나타내는 접두사
  • 4D: 4일
  • T: 날짜 구성 요소와 시간 구성 요소의 구분 기호
  • 11H38M20.035000055S: 11시간 38분 20.035000055초

이처럼 isoformat() 메서드를 활용하면 Timedelta 값을 표준화된 형식으로 손쉽게 직렬화할 수 있어, 로그 기록이나 외부 시스템과의 데이터 전송에 활용하기 좋습니다.