주제
Date and Time Data
- 일자와 시간은 파이썬 특수 유형인 datetime으로 저장한다는 것이다.
- Datetime은 여러 문자열로 표현될 수 있다.
- 날짜 시간이 문자열로 형식화되는 방법을 설명하는데 사용되는 공통 코드 세트이다.
- 판다스에서는 기본으로 datetime 데이터를 object로 읽는다.
- datetime 열을 지정하기 위해
parse_dates
를 사용해서 datetime을 설정할 수 있다.
parse_dates
- 컬럼 이름이나 숫자 목록을 전달한다.
- 2차원 배열도 가능하다.
- 각 키는 새 컬럼이름, 각 값은 구문 분석할 컬럼 목록으로 딕셔너리를 구성해서 사용할 수 있다.
위 데이터로 date를 다뤄보자.
- 표준 형식
타입을 확인해보면 datetime64로 설정된것을 확인할 수 있다.date_cols = ['Part1StartTime', 'Part1EndTime'] survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)
- 이중 배열로 넣기
head를 찍어보면 밑줄(_)로 연결되어 하나의 datetime 컬럼이 되는 것을 확인할 수 있다.date_cols = ['Part1SatrtTime', 'Part1EndTime', [['Part2StartDate', 'Part2StartTime']]] survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)
- 딕셔너리 형태로 넣기
date_cols = {'Part1Start':'Part1StartTime', 'Part1End':'Part1EndTime', 'Part2Start':['Part2StartDate', 'Part2StartTime']} survey_df = pd.read_excel("fcc_survey.xlsx", parse_dates=date_cols)
- 분석 날짜가 비정상적인 형식인 경우
- 형식이 옳지못한 경우
parse_dates
를 사용했을 때 제대로 동작하지 않는다.
pd.to_datetime()
을 사용해서 데이터로 변환하고parse_dates
를 사용해야한다.
to_datetime()
을 사용하려면 데이터프레임과 열이 필요하다.
- 형식이 옳지못한 경우
Datetime Formatting
날짜에 대한 형식은 코드와 문자열 형태로 설명된다.
자세한 내용은 strftime.org에서 확인할 수 있다.
위와 같이 파싱할 수 없는 형태의 데이터가 있다.
월일연도 시:분:초의 형태를 아래와 같이 "%m%d%Y %H:%M:%S"로 나타내고 이를 pd.to_datetime
의 format 인수로 설정한다.
format_string = "%m%d%Y %H:%M:%S"
survey_df["Part2EndTime"] = pd.to_datetime(survey_df["Part2EndTime"],
format=format_string)
Uploaded by Notion2Tistory v1.1.0