Pandas 데이터프레임 datetime으로 형변환 하기
- pandas.to_datetime(데이터, format= '표시 할 형식')
- 데이터의 타입을 datetime으로 변경
- format : 기존의 데이터의 형식을 지정, 어떤 부분이 년월일 등등인지 사전에 지정
- % 사용 : 예) %m/ %d /Y %I:%M:%S %p > 01/03/2023 3:33:38 PM
- 문자사용 : 예) yyyy-MM-dd HH:mm:ss > 2023-01-03 15:33:38
pd.to_datetime(chicago_df['Date'], format= '%m/%d/%Y %I:%M:%S %p')
pandas.dt의 사용
dt는 시리즈(1차원 배열)의 형태에서 사용 가능하다.
만약 데이터프레임(2차원 배열)에서 사용 할 경우에는,
해당 컬럼만 호출하여서 dt를 사용 할 수 있다.
- dt.date : 해당 날짜 표시 (예: 2022-05-11)
- dt.year : 해당 날짜의 년도 4자리로 표시 (예: 2022)
- dt.quarter : 해당 날짜의 분기 표시 (예: 2)
- dt.month : 해당 날짜의 월 표시 (예: 5)
- dt.month_name : 해당 날짜의 월을 영문자로 표시 (예: May)
- dt.weekday : 해당 날짜의 요일을 숫자로 표시 (예: 월요일-> 0)
- dt.weekday_name(=day_name) : 해당 날짜의 요일을 영문자로 표시 (예: 월요일-> Mon)
- dt.day : 해당 날짜의 일 표시 (11)
- dt.time : 해당 시간 표시 (예: 18:08:07)
- dt.hour : 해당 시간의 시 표시 (예: 18)
- dt.minute : 해당 시간의 분 표시 (예: 08)
- dt.second : 해당 시간의 초 표시 (예: 07)
resample 함수 이용하기
groupby 함수를 이용해서는 날짜데이터를 바로 년,월,일,시,분,초 단위 등으로 묶을 수 없다.
따라서, 먼저 Date 컬럼을 인덱스로 만들어준다.
데이터프레임명.index = 데이터프레임명[' date 컬럼명']
.index 를 이용하면 컬럼을 인덱스로 설정할 수 있다.
chicago_df.index = chicago_df['Date']
그 후에 resample 함수를 이용하여서 년단위, 월단위 등등으로 데이터를 묶어서 처리를 할 수 있다.
- DataFrame.resample('설정값').size() : 날짜/시간 타입을 그룹화하여 단위별 출력
- groupby로는 datetime 타입의 특정 단위별로 그룹화 불가
아래의 예시는 년도별로 집계하여서 나타낸 결과값이다.

'Python' 카테고리의 다른 글
| Openai의 gpt api를 이용한 간단한 챗봇 구현 (0) | 2023.04.18 |
|---|---|
| Pandas read_csv의 error_bad_lines 파라미터 (0) | 2023.01.03 |
| 파이썬에서의 join 함수 (0) | 2023.01.03 |
| 상관계수 corr() 에서 min_periods 파라미터 사용법 (0) | 2023.01.03 |
| 특정 컬럼과 전체 컬럼 간의 상관계수, corrwith (0) | 2023.01.03 |