개발로그필름
[데이터 TIL] to_datetime() vs to_timedelta() 차이점 본문
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
'데이터분석가 > 데이터 TIL' 카테고리의 다른 글
[데이터 TIL] 칼럼별 결측치 비율 확인하기 (0) | 2025.02.06 |
---|---|
[데이터 TIL] pandas에서 CSV 파일을 읽을 때 한글 인코딩 문제 해결 (0) | 2025.02.06 |
TransactionEncoder를 사용한 변환 (0) | 2025.02.05 |
df.groupby("id")["product"].apply(list).tolist() (0) | 2025.02.04 |
[데이터 TIL] t-검정을 수행할 때 Variable 1 Range, Variable 2 Range에 컬럼명을 포함하지 않는 이유 (0) | 2025.02.02 |
Comments