데이터를 다루다보면, 다음과 같은 데이터를 만날 때가 있다.
이런 형식의 데이터일 경우, 매번 습관적으로 연, 월, 일, 시 등으로 나누어 컬럼을 생성하여 데이터를 분석한다. 그렇다면 데이터를 왜 이러한 형식으로 변경하여 데이터 분석을 진행하는 것일까? 아래와 같은 장점이 존재하기 때문이다.(대부분 단점은 없는듯..?)
- 데이터 분석 및 시각화 : 연, 월, 일로 분리된 컬럼은 데이터를 시각화 할 때 더 쉽게 할 수 있도록 한다.
- 집계 및 그룹화 : 매월 판매량을 합산하거나 연간 통계를 생성할 때 유용하다.
- 시계열 데이터 분석: 연, 월, 일로 분리된 컬럼을 사용하면 시계열 패턴을 이해하고 예측하는 데 도움이 된다.
- 날짜 계산 및 조작 : 연, 월, 일로 분리된 컬럼을 사용하면 날짜와 관련된 계산 및 조직이 쉬워진다.
- 데이터 필터링 : 특정 기간의 데이터를 필터링하거나 쿼리를 사용하는 데 용이하다.
- 데이터 형식 표준화 : 데이터가 서로 다른 형식으로 저장되어 있을 때, 연, 월, 일로 분리된 컬럼을 사용하여 데이터 형식을 표준화하고 일관성을 유지할 수 있다.
그렇다면 데이터프레임에서 연, 월, 일로 해당 컬럼을 분리하고자 할 때 어떻게 할 수 있을까? 여러가지 방법이 있겠지만 판다스를 활용한 방법을 소개해볼까 한다.
먼저, 우리가 변경하려고하는 데이터 컬럼이 object 형식이면 pandas가 제공하는 pd.to_datetime 을 사용하여 컬럼의 데이터 타입을을 변경해 준다.(데이터 타입을 변경하지 않으면 뒤 코드를 실행할 때 오류가 발생함)
df['DATE'] = pd.to_datetime(df.DATE, format='%d-%m-%Y')
이렇게 데이터 컬럼의 데이터 타입을 변경하면, 데이터의 포멧이 우리가 익히 알고있는 연, 월, 일 표기로 변경된다.
그리고 이제 연, 월, 일로 분리된 컬럼을 만들어보자.
df['MONTH'] = df['DATE'].dt.month
df['YEAR'] = df['DATE'].dt.year
df['DAY'] = df['DATE'].dt.day
df.head(10)
해당 코드를 실행하면, 다음와 같은 분리된 컬럼을 얻을 수 있다.
판다스 기능 무궁무진... 그저 정진해보자
'데이터분석' 카테고리의 다른 글
pandas.qcut, 구간 나누기, categorical 변수 (0) | 2023.08.21 |
---|---|
scikit learn, GridSearchCV (0) | 2023.08.18 |
data handling, map, np.where (0) | 2023.08.18 |
주피터 노트북 단축기 정리 (0) | 2022.11.18 |
DataFrame, Join Type의 종류, python (0) | 2022.11.11 |