반응형
string 형태로 사용해도 문제가 없다면 써도 상관없겠지만, 시계열쪽을 하려면 미리 가공하는 연습을 해두는게 좋을듯 하다.
import pandas as pd
from pandas import DataFrame
data = [['눈을감자','2019-10-01 11:12:35','2500'],
['진라면','2019-10-03 12:15:30', '1000'],
['1회용 면도기','2019-10-06 13:30:21', '300']]
# data를 DataFrame 형태로 변경
d1 = DataFrame(data, columns=['종류','구매일자','금액'])
d1
종류 구매일자 금액
0 눈을감자 2019-10-01 11:12:35 2500
1 진라면 2019-10-03 12:15:30 1000
2 1회용 면도기 2019-10-06 13:30:21 300
# 데이터 유형 확인
d1.dtypes
종류 object
구매일자 object
금액 object
dtype: object
# 구매일자-1 이라는 컬럼으로 추가
d1['구매일자-1'] = pd.to_datetime(d1['구매일자'])
d1
종류 구매일자 금액 구매일자-1
0 눈을감자 2019-10-01 11:12:35 2500 2019-10-01 11:12:35
1 진라면 2019-10-03 12:15:30 1000 2019-10-03 12:15:30
2 1회용 면도기 2019-10-06 13:30:21 300 2019-10-06 13:30:21
# 데이터 유형 확인
d1.dtypes
종류 object
구매일자 object
금액 object
구매일자-1 datetime64[ns]
dtype: object
---
########## 날짜유형별 가공
d1["year"] = d1["구매일자-1"].dt.year
d1["month"] = d1["구매일자-1"].dt.month
d1["day"] = d1["구매일자-1"].dt.day
d1["hour"] = d1["구매일자-1"].dt.hour
d1["minute"] = d1["구매일자-1"].dt.minute
d1["second"] = d1["구매일자-1"].dt.second
d1['dayofweek'] = d1["구매일자-1"].dt.dayofweek
# yyyy-mm 방식으로 묶을때
d1['y-m'] = d1['구매일자-1'].dt.strftime('%Y-%m')
d1
dayofweek 는 요일을 나타내는 것이며 각 수치는 다음과 같다
0 => 월
1 => 화
2 => 수
3 => 목
4 => 금
5 => 토
6 => 일
종류 구매일자 금액 구매일자-1 year month day hour minute second dayofweek y-m
0 눈을감자 2019-10-01 11:12:35 2500 2019-10-01 11:12:35 2019 10 1 11 12 35 1 2019-10
1 진라면 2019-10-03 12:15:30 1000 2019-10-03 12:15:30 2019 10 3 12 15 30 3 2019-10
2 1회용 면도기 2019-10-06 13:30:21 300 2019-10-06 13:30:21 2019 10 6 13 30 21 6 2019-10
d1.dtypes
종류 object
구매일자 object
금액 object
구매일자-1 datetime64[ns]
year int64
month int64
day int64
hour int64
minute int64
second int64
dayofweek int64
y-m object
dtype: object
반응형
'공부 > 데이터' 카테고리의 다른 글
[NLP] 형태소 분석기 mecab 설치하기(mac) (0) | 2019.10.19 |
---|---|
[pandas] loc 와 iloc 차이 (0) | 2019.10.09 |
[pandas] groupby 에 컬럼별로 count, sum, mean 하기 (0) | 2019.10.08 |
통계용어정리, 기술통계, 추론통계 (0) | 2019.02.17 |
[python3] NLTK 설치하기 (0) | 2019.01.08 |
댓글