퍼포먼스 마케터 부트캠프 6주 1일차 (참여 21일차)

MIN BAEK·2025년 6월 16일
0

판다스의 dataframe.plot() ver

#라이브러리 불러오기
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/marketing_campaign_data.csv')
#매체별로 총합 구하기
media_group = df.groupby('media')[['impressions','clicks']].sum()
#막대그래프 그리기
media_group.plot(kind='bar', figsize=(10,6))

plt.title('매체별 impressions & clicks 총합') #제목 설정
plt.xlabel('Media') #가로축 이름 설정
plt.ylabel('Total') #세로축 이름 설정
plt.xticks(rotation=0) #카테고리 이름 회전각도 조정
plt.legend(["impressions", "clicks"]) #범례 추가
plt.grid(axis='y') #y축 수평으로 격자선 추가

#그래프 표시
plt.show()

Plt.bar ver.

import matplotlib.pyplot as plt
import pandas as pd

#CSV 불러오기
df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/marketing_campaign_data.csv')

#1) 매체별로 impressions, clicks 총합 구하기
media_group = df.groupby('media')[['impressions', 'clicks']].sum()

#2) x축 위치 지정
labels = media_group.index.tolist()
x = range(len(labels)) # 0, 1, 2, ...

#3) 막대 너비와 위치 조정
bar_width = 0.35
impressions = media_group['impressions']
clicks = media_group['clicks']

#4) 막대 그래프 그리기 (plt.bar 사용)
plt.figure(figsize=(10, 6))
plt.bar([i - bar_width/2 for i in x], impressions, width=bar_width, label='Impressions')
plt.bar([i + bar_width/2 for i in x], clicks, width=bar_width, label='Clicks')

#5) 그래프 꾸미기
plt.title('매체별 impressions & clicks 총합')
plt.xlabel('Media')
plt.ylabel('Total')
plt.xticks(x, labels) # x축에 media 이름 붙이기
plt.legend()
plt.grid(axis='y') # 수평선만 추가

#6) 그래프 표시
plt.show()

굳이 이렇게 하지 않아도...
plt.tight_layout()라는 파워풀한 메서드가 있었음...
천사같은 팀원들 덕분에 하나 또 배워갑니다...

profile
안녕하세요 백민입니다:)

0개의 댓글