DateTimeIndex를 Series로 변환하기
Pandas에서 DateTimeIndex를 Series로 변환하려면 DateTimeIndex.to_series() 메서드를 사용합니다. 이 메서드는 인덱스의 날짜·시간 값을 값(value)으로 갖는 Series를 생성해 주며, 인덱스 자체도 동일한 날짜·시간 값으로 유지됩니다.
필수 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
DatetimeIndex 생성
기간(period)은 5로 설정하고, 빈도(freq)는 초 단위인 'S'로 지정하여 DatetimeIndex를 생성합니다. 타임존(timezone)은 'Australia/Adelaide'로 지정하고, 40초 간격으로 생성해 보겠습니다.
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')DateTimeIndex를 Series로 변환
이제 to_series() 메서드를 호출하여 DateTimeIndex를 Series로 변환합니다.
print("\nDateTimeIndex to series...\n",
datetimeindex.to_series())전체 예제 코드
다음은 위 과정을 모두 포함한 전체 예제 코드입니다.
import pandas as pd
# 기간 5, 빈도 S(초)로 DatetimeIndex 생성
# 타임존은 Australia/Adelaide로 지정
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')
# DateTimeIndex 출력
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndex의 빈도 출력
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# DateTimeIndex를 Series로 변환
print("\nDateTimeIndex to series...\n",
datetimeindex.to_series())실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DateTimeIndex... DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30', '2021-10-18 07:21:12.261811624+10:30', '2021-10-18 07:21:52.261811624+10:30', '2021-10-18 07:22:32.261811624+10:30', '2021-10-18 07:23:12.261811624+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='40S') DateTimeIndex frequency... <40 * Seconds> DateTimeIndex to series... 2021-10-18 07:20:32.261811624+10:30 2021-10-18 07:20:32.261811624+10:30 2021-10-18 07:21:12.261811624+10:30 2021-10-18 07:21:12.261811624+10:30 2021-10-18 07:21:52.261811624+10:30 2021-10-18 07:21:52.261811624+10:30 2021-10-18 07:22:32.261811624+10:30 2021-10-18 07:22:32.261811624+10:30 2021-10-18 07:23:12.261811624+10:30 2021-10-18 07:23:12.261811624+10:30 Freq: 40S, dtype: datetime64[ns, Australia/Adelaide]
정리
to_series() 메서드를 사용하면 DateTimeIndex의 각 타임스탬프가 값으로 들어간 새로운 Series를 손쉽게 만들 수 있습니다. 출력 결과에서 볼 수 있듯이, 원래의 인덱스(타임스탬프)와 값이 동일하게 매칭되며, 타임존 정보와 빈도(freq) 정보도 그대로 유지됩니다. 시계열 데이터를 다룰 때 인덱스 값을 일반 데이터 열처럼 활용해야 하는 경우에 유용하게 사용할 수 있습니다.