반응형
안녕하세요! 이번에는 pandas. resample에 관련한 코드를 한 번 정리해보았습니다:) 호호.
우선 파라미터 값 부터.
DataFrame.resample(rule, axis=0, closed=None, label=None,
convention='start', kind=None, loffset=None, base=None, on=None,
level=None, origin='start_day', offset=None)
시간 데이터를 분석할 때 연, 월, 일 단위로 다시 열로 만들어서 분석하는 경우도 있는데 resample 함수를 활용하면 rawdata만 활용해서 분석할 수 있어서 좀 더 편리합니다.
년도-월-일로 되어 있던 데이터에서 년도를 추출하고 해당 평균과 관련해서 bar graph를 만들어본 코드
df.groupby("Year").mean()[['구매금액']].plot.bar()
단순히 리샘플링해서 만든 코드.
df.resample('Y').mean().plot.bar(figsize=(12,8))
리샘플링 별칭 정리
B | 영업일 기준 빈도 | Business day frequency |
C | 사용자 정의한 영업일 기준 빈도 | Custom Business day frequency |
D | 일 빈도 | Calendar day frequency |
W | 주간 빈도 | Weekly frequency |
M | 월 빈도 | Month end frequency |
SM | 15일 기준 빈도 | semi-month end frequency |
BM | 영업 종료 월 빈도 | business month end frequency |
CBM | 사용자 정의 기준 비지니스 우러 빈도 | cusom business month end frequency |
MS | 월 시작 빈도 | month start frequency |
SMS | 15일 기준으로 시작 기준인 빈도 | semi-month start frequncy (1st and 15th) |
BMS | 영업 월 시작 기준 빈도 | Business month start frequency |
CBMS | 사용자 정의 비지니스 월 시작기준 빈도 | Custom Business month start frequency |
Q | 분기 기준 | quarter end freqency |
BQ | 사업 분기 빈도 | business quarter end frequency |
QS | 분기 시작 빈도 | business start frequency |
BQS | 비지니스 분기 시작 빈도 | business quarter start frequency |
A, Y | 연말 끝 기준 빈도 | year end frequency |
BA, BY | 사업 연도 | business year end frequency |
AS, YS | 연도 시작 빈도 | year start frequency |
BAS, BYS | 사업 연도 시작 빈도 | business year start frequency |
BH | 영업 시간 빈도 | business hour frequency |
H | 시간 당 빈도 | hourly frequency |
T, min | 분 당 빈도 | minutely frequency |
S | 초 당 빈도 | secondly frequency |
L, ms | 밀리초 당 빈도 | miliseconds |
U, us | 마이크로 초 기준 빈도 | microseconds |
N | 나노 초 빈도 | nanoseconds |
예를 들어 다음과 같은 날짜 데이터가 있다고 할 때,
index = pd.date_range('1/1/2020', periods=15, freq='T')
series = pd.Series(np.random.randn(15), index=index)
test = pd.DataFrame(series)
test.resample('M').mean()
결과 값은 월 말을 기준으로 평균값이 나타나게 됩니다.
연도 시작을 기준으로 하기 위해서는,
요렇게 1월 1일 기준으로 나타납니당.
초당 빈도 중에서 3초 간격으로 평균값을 알고 싶다면
test.resample('3T').mean()
이런 식으로 하면
이렇게 간단하게 평균값에 대해서 자동으로 시간을 리샘플링할 수 있습니다. 일단 오늘은 여기까지!
반응형
'Python' 카테고리의 다른 글
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 17: invalid start byte (0) | 2022.06.27 |
---|---|
python survey data anaylsis - html to tistory (0) | 2022.06.11 |
Colab) Wordcloud 한글이 보이지 않을 때, 워드클라우드 만들기, 주피터 노트북, R프로그램 KoNLP 설치 실패. 워드 클라우드 저장하는 코드 (0) | 2022.04.25 |
[colab] mp3 두 개 합치기/mov -> mp4 -> wav /audiodisplay (0) | 2022.04.23 |
to_csv, to_excel 파라미터, 판다스 엑셀 저장하기 (0) | 2022.04.22 |