자신에게 친절할 것 :)

Data Science/Pandas

[데이터 전처리] 원하는 시간 간격으로 묶기 .resample()

Tashapark 2024. 6. 26. 22:55
728x90

# 코드잇 데이터 사이언티스트 강의 듣는 중


<원하는 시간 간격으로 묶기>

- .resample()

 

- 일자 별로 합계나 평균을 계산해서 보고 싶을 때 사용.

- datetime이 인덱스로 설정되어 있어야 함. 

 

- 일단, 인덱스로 설정하기  

order_df = pd.read_csv('data/order.csv', parse_dates=['order_time', 'shipping_time'])
order_df = order_df.dropna()

#인덱스 설정
order_df = order_df.set_index('order_time')
order_df

 

-->  order_ time이 인덱스가 됨. 

 

 

 

 

 

 

 

- .resample()에 인자로 기준값을 넣어주면 됨. 

- 원하는 시간 간격 기준을 넣으면 됨 --> 'D' ; 하루, 'M' ; 월, 'Y'; 연도 

order_df.resample('D')

#값 resample dataframe으로 변환됨. 
<pandas.core.resample.DatetimeIndexResampler object at 0x168384e90>

 

- 연산 식 메소드를 추가하면 됨. 

- 여러 가지 연산식 다 가능. 

order_df.resample('D').sum(numeric_only = True)

 

--> 'D'; 하루 별

 

 

 

 

 

 

order_df.resample('M').sum(numeric_only = True)

 

--> 'M'; 월 별

 

--> 달의 마지막 날이 출력되지만, 구분을 위함이지 반드시 저 날짜가 포함되지는 않음. 

 

 

order_df.resample('Y').sum(numeric_only = True)

 

--> 'Y';연도 별

 

--> 월과 마찬가지로 데이터 값에는 없을 수도 있지만, 각 해의 마지막 날을 출력해서 구분함.

728x90
반응형