from datetime import datetime
# 날짜 문자열을 datetime 객체로 변환
= "2023-10-09"
date_str = datetime.strptime(date_str, "%Y-%m-%d")
date_obj
print(date_obj)
2023-10-09 00:00:00
날짜 문자열을 날짜 형식으로 변환하기
gabriel yang
October 10, 2024
데이터 분석이나 웹 개발을 하다 보면, 날짜 데이터가 텍스트(문자열) 형식으로 저장되어 있는 경우가 종종 있습니다. 하지만 날짜 정보를 다룰 때는 문자열보다는 날짜 데이터 형식으로 변환해서 처리하는 것이 더 효율적입니다. Python에서는 이러한 작업을 쉽게 할 수 있는 다양한 방법을 제공합니다. 이 글에서는 대표적으로 많이 쓰이는 datetime
모듈과 pandas
라이브러리를 사용하여 날짜 형식 문자열을 날짜 데이터 형식으로 변환하는 방법과 변환 후 날짜를 수정하는 방법을 소개하겠습니다.
datetime
객체로 변환하기Python의 기본 내장 모듈인 datetime
을 사용하면 날짜 형식 문자열을 datetime
객체로 변환할 수 있습니다. 주로 strptime
메서드를 사용하는데, 이 메서드는 날짜 형식의 문자열을 파싱하여 datetime
객체로 변환해 줍니다.
datetime.strptime
사용 예시:from datetime import datetime
# 날짜 문자열을 datetime 객체로 변환
date_str = "2023-10-09"
date_obj = datetime.strptime(date_str, "%Y-%m-%d")
print(date_obj)
2023-10-09 00:00:00
위 코드에서는 "2023-10-09"
라는 날짜 형식의 문자열을 datetime
객체로 변환하였습니다. 여기서 "%Y-%m-%d"
는 날짜 형식이 연-월-일로 되어 있음을 의미합니다.
종종 데이터에서 날짜 형식이 우리가 원하는 형식과 맞지 않는 경우가 있습니다. 예를 들어 "2023/10/09"
와 같은 형식으로 되어 있을 수도 있죠. 이런 경우에는 strptime
에서 형식에 맞게 변환해 주면 됩니다.
from datetime import datetime
# 슬래시(/)로 구분된 날짜 문자열 변환
date_str = "2023/10/09"
date_obj = datetime.strptime(date_str, "%Y/%m/%d")
print(date_obj)
2023-10-09 00:00:00
여기서는 슬래시 /
로 구분된 날짜 형식 문자열을 변환하고 있습니다. 이렇게 다양한 형식을 처리할 수 있습니다.
pandas
를 이용한 날짜 변환대량의 데이터 처리를 할 때는 pandas
라이브러리를 많이 사용합니다. pandas
에서는 to_datetime
함수를 사용하여 문자열을 쉽게 날짜 형식으로 변환할 수 있습니다. 이 함수는 날짜 형식을 자동으로 인식하므로, 매우 편리하게 사용할 수 있습니다.
pandas.to_datetime
사용 예시:import pandas as pd
date_series = pd.Series(["2023-10-09", "2023-5-09", "2023-11-09"])
# pandas를 이용한 날짜 형식 변환
date_series_converted = pd.to_datetime(date_series)
print(date_series_converted)
0 2023-10-09
1 2023-05-09
2 2023-11-09
dtype: datetime64[ns]
pandas
는 다양한 날짜 형식을 자동으로 처리하기 때문에 to_datetime
함수 하나만으로도 여러 형식의 날짜를 변환할 수 있습니다.
변환된 날짜 데이터를 수정하고 싶다면, datetime
모듈의 기능을 활용할 수 있습니다. 예를 들어, 날짜에 며칠을 더하거나 빼고 싶은 경우에는 timedelta
객체를 사용할 수 있습니다.
from datetime import datetime, timedelta
# 현재 날짜
date_obj = datetime.strptime("2023-10-09", "%Y-%m-%d")
# 날짜에 7일 더하기
new_date = date_obj + timedelta(days=7)
print(new_date)
2023-10-16 00:00:00
위 코드에서는 기존 날짜에 7일을 더하여 새로운 날짜를 계산하였습니다. 이처럼 timedelta
객체를 이용하면 날짜에 일, 시간, 분 등을 더하거나 뺄 수 있습니다.
date() 메서드를 사용하면 datetime 객체에서 날짜 부분만 추출할 수 있습니다.
strftime() 메서드는 datetime 객체를 문자열로 포맷할 수 있게 해줍니다. 이 방법을 사용하여 날짜만 원하는 형식으로 가져올 수도 있습니다.
timedelta는 다음과 같은 인자(옵션)를 통해 특정 기간을 정의할 수 있습니다.
이번 글에서는 Python의 datetime
모듈과 pandas
라이브러리를 활용하여 날짜 형식 문자열을 날짜 데이터 형식으로 변환하고, 변환 후 날짜를 수정하는 방법에 대해 알아보았습니다. 데이터를 다룰 때 날짜 처리에 어려움을 겪고 있다면, 위 방법들을 활용하여 날짜 데이터를 효율적으로 관리해 보세요.
Date | Title | Author |
---|---|---|
Jan 1, 3000 | 전체 카테고리 | gabriel yang |
Nov 26, 2024 | VSCode에서 Python 디버깅 (launch.json 설정) | gabriel yang |
Nov 23, 2024 | Python 설치된 패키지 확인, 설치와 복원하기 | gabriel yang |
Oct 14, 2024 | JSON 파일에서 특정 key의 값 변경 후 저장하는 방법 | gabriel yang |
Oct 8, 2024 | Request를 통한 JIRA REST API 사용방법 | gabriel yang |
Oct 8, 2024 | Request 라이브러리 사용방법 | gabriel yang |
Oct 8, 2024 | Requests 라이브러리로 베이직 인증 API 호출하기 | gabriel yang |
Oct 7, 2024 | Python으로 SSH를 제어하기 | gabriel yang |
Oct 7, 2024 | Pytest로 테스트하기 | gabriel yang |
Oct 7, 2024 | Pytest 기본적인 테스트 실행 방법 | gabriel yang |
Oct 7, 2024 | Pytest Fixture 개념과 필요성 | gabriel yang |
Oct 7, 2024 | CI 환경에서 Pytest 사용하기 | gabriel yang |
Oct 7, 2024 | 파이썬에서 테스트 코드 리팩토링 기법 | gabriel yang |
Oct 5, 2024 | Python os 모듈을 이용한 파일과 폴더 관리 | gabriel yang |
Oct 5, 2024 | Python shutil 모듈을 이용한 파일과 폴더 관리 | gabriel yang |
Oct 5, 2024 | MongoDB 데이터베이스 백업 및 복원 방법 | gabriel yang |
Oct 5, 2024 | Python jira 라이브러리를 이용해 JIRA를 관리하는 방법 | gabriel yang |
Oct 4, 2024 | Python에서 JSON 파일 읽기 및 데이터 활용 | gabriel yang |
Oct 4, 2024 | JSON 데이터 수정하기 | gabriel yang |
Oct 4, 2024 | JSON 파일의 구성요소와 구조 | gabriel yang |
Oct 4, 2024 | Python에서 Git명령 사용하기 | gabriel yang |
Oct 3, 2024 | 파이썬으로 클래스 정의하는 방법 | gabriel yang |
Oct 3, 2024 | 파이썬의 상속(Inheritance) 이해하기 | gabriel yang |
Oct 3, 2024 | 파이썬 클래스의 self 이해하기 | gabriel yang |
Oct 3, 2024 | 파이썬에서 추상 클래스(Abstract Class) 사용하기 | gabriel yang |
Oct 3, 2024 | 파이썬 클래스 활용 예시 | gabriel yang |
Oct 3, 2024 | 파이썬 클래스와 모듈 | gabriel yang |
Oct 3, 2024 | 파이썬에서 Lock을 사용하는 이유와 방법 | gabriel yang |
Oct 2, 2024 | Python에서 zip()을 사용하는 이유와 방법 | gabriel yang |
Oct 2, 2024 | 파이썬 시퀀스 슬라이싱 | gabriel yang |
Oct 2, 2024 | 파이썬에서 Generator를 사용하는 이유와 사용법 | gabriel yang |
Oct 2, 2024 | 파이썬의 @property 기능 | gabriel yang |
Oct 2, 2024 | 파이썬 시퀀스 언패킹 | gabriel yang |
Oct 2, 2024 | 파이썬 데이터 정렬 | gabriel yang |
Oct 2, 2024 | 파이썬 딕셔너리 key 예외처리하기 | gabriel yang |
Oct 2, 2024 | 파이썬의 defaultdict 사용법 | gabriel yang |
Oct 2, 2024 | 파이썬의 try-except 사용법 | gabriel yang |
Oct 2, 2024 | 파이썬의 클로저(Clsure) 사용법 | gabriel yang |
Oct 2, 2024 | 파이썬의 가변인자 사용법 | gabriel yang |
Oct 2, 2024 | 파이썬의 컴프리헨션(Comprehension) 사용법 | gabriel yang |
Oct 1, 2024 | 파이썬 가상환경 설정 | gabriel yang |
Oct 1, 2024 | 파이썬을 이용한 테스트 자동화 | gabriel yang |
Oct 1, 2024 | 파이썬 docstring을 사용하는 이유와 방법 | gabriel yang |
Oct 1, 2024 |
파이썬 yield 제너레이터와 효율적인 반복 처리
|
gabriel yang |
Oct 1, 2024 | 파이썬 데이터 언패킹 | gabriel yang |
Oct 1, 2024 | Python에서 enumerate를 사용하는 이유와 사용 방법 | gabriel yang |
Sep 30, 2024 | Python 설치 및 기본 파이썬 버전 설정 | gabriel yang |
Sep 30, 2024 | Python을 이용한 폴더 전체 복사 방법 | gabriel yang |
Sep 30, 2024 | Public Key와 Private Key의 역할 | gabriel yang |
Sep 23, 2024 | Python의 @dataclass 데코레이터 | gabriel yang |
Aug 30, 2024 | Python shell명령 수행하기 (Subprocess) | gabriel yang |
Aug 29, 2024 | Google Colab에서 라이브러리 설치하기 | gabriel yang |
Aug 1, 2024 | 환경변수 설정하고 Python에서 읽어오기 | gabriel yang |
Jan 1, 2024 | 코루틴(coroutine)과 이벤트 루프 | gabriel yang |