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

Python Pandas – Period 객체의 문자열 표현을 원하는 형식으로 변환하여 반환하기

Pandas에서 기간(Period) 객체를 원하는 형식의 문자열로 변환해 반환하려면 period.strftime() 메서드를 사용하면 됩니다. strftime('%d-%b-%Y')처럼 형식 지정자(format specifier)를 인자로 전달하면, 그 형식에 맞게 변환된 문자열을 얻을 수 있습니다.

1. 필요한 라이브러리 임포트

먼저 pandas 라이브러리를 불러옵니다.

import pandas as pd

pandas.Period는 특정 시점이나 기간을 나타내는 객체입니다. 아래와 같이 연도, 월, 일, 시, 분, 초 정보를 지정하여 Period 객체를 생성할 수 있습니다.

period = pd.Period(freq="S", year=2021, month=9, day=18, hour=8, minute=20, second=45)

생성한 Period 객체를 출력해 확인합니다.

print("Period...\n", period)

이어서 strftime() 메서드로 형식화된 문자열 표현을 출력합니다.

print("\nString representation (format)...\n", period.strftime('%d-%b-%Y'))

2. 주요 형식 지정자 정리

  • %d : 일(day), 두 자리 숫자로 표시 (예: 18)
  • %b : 축약된 월 이름 (예: Sep)
  • %B : 월의 전체 이름 (예: September)
  • %Y : 네 자리 연도 (예: 2021)
  • %A : 요일의 전체 이름 (예: Saturday)

3. 전체 예제 코드

다음은 서로 다른 형식 지정자를 활용한 완전한 예제입니다.

import pandas as pd

# pandas.Period는 특정 시점(기간)을 나타냅니다.
# Period 객체 생성
period = pd.Period(freq="S", year=2021, month=9, day=18, hour=8, minute=20, second=45)

# Period 객체 출력
print("Period...\n", period)

# 형식화된 문자열 표현 출력
print("\nString representation (format)...\n", period.strftime('%d-%b-%Y'))

# 다른 형식 지정자를 사용한 결과 출력
print("\nString representation (format with different directives)...\n",
      period.strftime('%b. %d, %Y was a %A'))

4. 실행 결과

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

Period...
2021-09-18 08:20:45

String representation (format)...
18-Sep-2021

String representation (format with different directives)...
Sep. 18, 2021 was a Saturday

실행 결과를 보면, 첫 번째 strftime('%d-%b-%Y') 호출은 날짜를 '18-Sep-2021' 형태로 반환하고, 두 번째 호출은 월·일·연도와 함께 요일 정보까지 포함한 'Sep. 18, 2021 was a Saturday'라는 문장 형태의 문자열을 반환합니다. 이처럼 strftime() 메서드를 활용하면 보고서나 로그 등 다양한 용도에 맞게 날짜와 시간을 자유롭게 형식화할 수 있습니다.