Pandas의 DateTimeIndex에서 초(second) 값을 추출하려면 DateTimeIndex.second 속성을 사용하면 됩니다. 이 속성은 시계열 인덱스에 포함된 각 날짜·시간 값의 '초' 부분만 별도로 가져와 정수 형태의 Index로 반환합니다.
1. 필요한 라이브러리 불러오기
먼저 Pandas 라이브러리를 임포트합니다.
import pandas as pd
2. DateTimeIndex 생성하기
pd.date_range() 함수를 사용해 시작 시점부터 총 6개의 타임스탬프를 생성합니다. 빈도(freq)는 'S', 즉 1초 단위로 지정하고, 시간대(timezone)는 호주 시드니(Australia/Sydney)로 설정합니다.
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='S')
3. DateTimeIndex 출력 및 초 추출하기
생성된 DateTimeIndex를 확인한 뒤, .second 속성으로 초 값을 추출합니다.
# DateTimeIndex 출력
print("DateTimeIndex...\n", datetimeindex)
# 초(second) 값 추출
print("\n추출된 초 값..\n", datetimeindex.second)
전체 예제 코드
import pandas as pd
# periods=6, 빈도는 'S'(초 단위)
# 시간대는 Australia/Sydney로 설정
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=6, tz='Australia/Sydney', freq='S')
# DateTimeIndex 출력
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndex의 빈도 출력
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# 초(second) 값 추출
print("\n추출된 초 값..\n", datetimeindex.second)
실행 결과
DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+11:00', '2021-10-20 02:30:51+11:00',
'2021-10-20 02:30:52+11:00', '2021-10-20 02:30:53+11:00',
'2021-10-20 02:30:54+11:00', '2021-10-20 02:30:55+11:00'],
dtype='datetime64[ns, Australia/Sydney]', freq='S')
DateTimeIndex frequency...
<Second>
추출된 초 값..
Int64Index([50, 51, 52, 53, 54, 55], dtype='int64')
핵심 정리
pd.date_range()에freq='S'를 지정하면 초 단위 시계열 인덱스가 생성됩니다.tz파라미터를 사용하면 특정 시간대가 적용된 DatetimeIndex를 만들 수 있습니다.datetimeindex.second속성은 각 타임스탬프의 초 값을 Int64Index 형태로 반환합니다.- 같은 방식으로
.hour,.minute,.day등 다른 날짜·시간 구성 요소도 손쉽게 추출할 수 있습니다.