개발로그필름

[데이터 TIL] to_datetime() vs to_timedelta() 차이점 본문

데이터분석가/데이터 TIL

[데이터 TIL] to_datetime() vs to_timedelta() 차이점

yuullog 2025. 2. 6. 15:24
728x90
반응형
SMALL

📌 to_datetime() vs to_timedelta() 차이점

둘 다 Pandas에서 날짜 및 시간 처리를 위한 함수이지만, 역할이 다르다

 


 

1️⃣ to_datetime()

📌 “문자열 → 날짜/시간(datetime)” 변환

- 문자열이나 숫자를 날짜(datetime) 형식으로 변환하는 함수

 

✅ 사용 예시
import pandas as pd

# 날짜 문자열을 datetime으로 변환
date_series = pd.to_datetime(["2023-01-01", "2023-06-15", "2023-12-31"])
print(date_series)

 

출력 결과

DatetimeIndex(['2023-01-01', '2023-06-15', '2023-12-31'], dtype='datetime64[ns]', freq=None)

 

🔹 주요 기능

- 날짜 형식으로 변환하여 날짜 연산 가능

- 자동으로 형식을 인식 (YYYY-MM-DD, DD/MM/YYYY 등)

- errors='coerce' 옵션 사용 시, 변환 불가능한 값은 NaT 처리 가능

 


반응형

 

 

2️⃣ to_timedelta()

📌 “시간 차이(timedelta) 형식 변환”

숫자, 문자열을 시간 간격(timedelta)으로 변환하는 함수입니다.

 

✅ 사용 예시
import pandas as pd

# 시간 차이를 timedelta 형식으로 변환
time_deltas = pd.to_timedelta(["1 days", "2 hours", "30 minutes"])
print(time_deltas)

 

출력 결과

TimedeltaIndex(['1 days 00:00:00', '0 days 02:00:00', '0 days 00:30:00'], dtype='timedelta64[ns]', freq=None)

 

🔹 주요 기능

- 시간 차이를 나타내는 데이터 (days, hours, minutes 등) 변환

- datetime 값과 연산 가능 (datetime - datetime)

- 정수 값을 일(day) 또는 초(second)로 변환 가능

pd.to_timedelta([1, 2, 3], unit="D")  # 1일, 2일, 3일

 

🔹 차이점 요약

기능 to_datetime() to_timedelta()
변환 대상
날짜/시간 문자열 → datetime 시간 차이 문자열 → timedelta
반환 타입 datetime64[ns] timedelta64[ns]
주요 활용 날짜 변환, 날짜 연산 시간 간격 계산, 시간 덧셈
예제 "2023-01-01"2023-01-01 00:00:00 "2 hours"0 days 02:00:00

 


 

✅ 활용 예제: to_datetime() + to_timedelta() 함께 사용

df = pd.DataFrame({
    'date': ["2023-01-01", "2023-06-15", "2023-12-31"],
    'delay': ["1 days", "2 days", "3 days"]
})

# 날짜 변환
df['date'] = pd.to_datetime(df['date'])

# 시간 차이 변환
df['delay'] = pd.to_timedelta(df['delay'])

# 날짜 + 시간 차이 연산
df['new_date'] = df['date'] + df['delay']

print(df)

 

출력 결과

        date   delay   new_date
0 2023-01-01 1 days 2023-01-02
1 2023-06-15 2 days 2023-06-17
2 2023-12-31 3 days 2024-01-03

 


 

🚀 결론

- to_datetime() → 날짜/시간(datetime) 변환

- to_timedelta() → 시간 차이(timedelta) 변환

- 함께 사용하면 날짜 연산이 가능!

 

👉 datetime과 timedelta를 함께 다룰 때 유용한 함수! 🚀

반응형
LIST
Comments