05_Pandas

[Pandas]datetime에서 시간만 추출

chuuvelop 2025. 4. 17. 12:41
728x90
01. 데이터 확인

 

데이터 형식과 dtype이 object임을 확인

train_df["datetime"].head()
0    2011-01-01 00:00:00
1    2011-01-01 01:00:00
2    2011-01-01 02:00:00
3    2011-01-01 03:00:00
4    2011-01-01 04:00:00
Name: datetime, dtype: object

 

 

 

02. 공백으로 잘라서 날짜와 시간을 분리
train_df["datetime"].str.split(" ")
0        [2011-01-01, 00:00:00]
1        [2011-01-01, 01:00:00]
2        [2011-01-01, 02:00:00]
3        [2011-01-01, 03:00:00]
4        [2011-01-01, 04:00:00]
                  ...          
10881    [2012-12-19, 19:00:00]
10882    [2012-12-19, 20:00:00]
10883    [2012-12-19, 21:00:00]
10884    [2012-12-19, 22:00:00]
10885    [2012-12-19, 23:00:00]
Name: datetime, Length: 10886, dtype: object

 

 

03. expand = True옵션을 적용해서 날짜와 시간을 분리하여 각각의 컬럼 생성
train_df["datetime"].str.split(" ", expand = True)

 

 

04. 「03」을 변수에 대입
train_df[["datetime_date", "datetime_time"]] = train_df["datetime"].str.split(" ", expand = True)

 

 

05. 시간 부분 데이터 확인

시간이 24시간 형식으로 되어있음

train_df["datetime_time"].tail()
10881    19:00:00
10882    20:00:00
10883    21:00:00
10884    22:00:00
10885    23:00:00
Name: datetime_time, dtype: object

 

 

06. 「:」제거후 앞에서부터 2자리만 추출하여 int형식으로 변경
train_df["datetime_time"].str.replace(":", "").str[:2].astype(int)
728x90