Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

뒤죽박죽 데이터분석 일기장

[Python] 네이버 데이터랩 API 사용기 및 월별 평균량 구하기 (2/2) 본문

Python

[Python] 네이버 데이터랩 API 사용기 및 월별 평균량 구하기 (2/2)

시우마이 2023. 7. 18. 15:12

안녕하세요. 저번 포스트에서 구한 일별 검색량을 기준으로 월별 평균 검색량을 구해 보도록 하겠습니다. 

 

저번 포스트에서 수집된 데이터 프레임은 아래와 같습니다. 

 

수집된 일별 데이터

 

하지만, 검색량이 없는 날짜는 날짜가 저장되지 않습니다. 

 

df['period']

 

따라서 해당 기간 전체 날짜를 가진 Dataframe을 만든 후 merge를 시키는 방법으로 접근해 보겠습니다. 

 

# 날짜만 있는 데이터 프레임을 생성합니다
df_date = pd.DataFrame(dates)

# column 값을 period로 설정 
df_date.columns = ['period']

# 기존에 있던 데이터프레임을 column 'period'를 기준으로 left merge 합니다. 
df = df_date.merge(df,how='left', on='period')

# 결측치에는 0을 채웁니다. 
df = df.fillna(0)

df

위 코드를 입력하면 아래와 같이 결과값이 나옵니다. 

 

이제 'period' 컬럼 안에서 월 정보를 추출해 월별 평균을 구해보겠습니다. 

 

# '-'를 기준으로 문자열을 split 하고 나눈 데이터를 3개의 column으로 저장합니다. 
df_final = pd.concat([df['period'].str.split('-', expand=True), df], axis=1)

# 컬럼명을 재지정합니다.
df_final.columns = ['year', 'month', 'day', 'period', 'ratio']
df_final.head()

 

사실 year와 day column은 필요가 없습니다. 따라서, month 컬럼을 기준으로 groupby 함수를 사용해 월별 검색량 평균을 구하겠습니다. 

 

df_final.groupby('month')['ratio'].mean()

 

이렇게 월별 평균을 구할 수 있었습니다. 간단하게 시각화도 진행해 보겠습니다. 

 

df_final.groupby('month')['ratio'].mean().plot.barh(90)

 

결론적으로 '수려한 효비담 발효 크림' 이라는 키워드는 2월에 평균적으로 검색량이 높았던 것을 확인할 수 있었습니다.