키워드 데이터 분석

패스트캠퍼스 키워드 데이터 분석

import pandas as pd 
from pandas import DataFrame
from pandas import Series
import seaborn as sns
import matplotlib.pyplot as plt
# matplotlib 한글 폰트 출력코드
# 출처 : 데이터공방( https://kiddwannabe.blog.me)

import matplotlib
from matplotlib import font_manager, rc
import platform

try : 
    if platform.system() == 'Windows':
    # 윈도우인 경우
        font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
        rc('font', family=font_name)
    else:    
    # Mac 인 경우
        rc('font', family='AppleGothic')
except : 
    pass
matplotlib.rcParams['axes.unicode_minus'] = False   
df=pd.read_excel('naverreport.xls')
df.head()
캠페인보고서(2019.02.01.~2019.04.30.),ftasia Unnamed: 1 Unnamed: 2 Unnamed: 3 Unnamed: 4 Unnamed: 5 Unnamed: 6
0 광고그룹 키워드 노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
1 올인원 패키지 : 디자인 툴_파워컨텐츠_포토샵 - 2319456 9606 0.414149 261.549448 2512444
2 올인원 패키지 : 업무자동화_VBA - 767491 8058 1.049915 295.974808 2384965
3 ㅍAOP 전체_중복키워드_디자인(삭제) 일러스트 1137840 324 0.028475 4841.66358 1568699
4 올인원 패키지 : 데이터 분석 입문 온라인_파콘 - 694106 1863.6 0.268489 630.593475 1175174
df=pd.read_excel('naverreport.xls',skiprows=[0])
df.head()
광고그룹 키워드 노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
0 올인원 패키지 : 디자인 툴_파워컨텐츠_포토샵 - 2319456 9606.0 0.414149 261.549448 2512444
1 올인원 패키지 : 업무자동화_VBA - 767491 8058.0 1.049915 295.974808 2384965
2 ㅍAOP 전체_중복키워드_디자인(삭제) 일러스트 1137840 324.0 0.028475 4841.663580 1568699
3 올인원 패키지 : 데이터 분석 입문 온라인_파콘 - 694106 1863.6 0.268489 630.593475 1175174
4 3. html HTML 9626374 813.6 0.008452 1408.435349 1145903

키워드 기준 group

grouped = df.groupby('키워드')
grouped
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x00000124B3781EE0>
grouped.count()
광고그룹 노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 8 8 8 8 8 8
10억건물 1 1 1 1 1 1
11번가상품등록 1 1 1 1 1 1
11번가입점 1 1 1 1 1 1
11번가판매자 1 1 1 1 1 1
... ... ... ... ... ... ...
회계 1 1 1 1 1 1
회계책 1 1 1 1 1 1
회사분위기 1 1 1 1 1 1
회사소개서 1 1 1 1 1 1
후위표기법 1 1 1 1 1 1

1112 rows × 6 columns

grouped.mean()
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 510444.5 2636.7 0.516004 388.533776 848233.375
10억건물 1976.0 2.4 0.121457 1283.333333 3080.000
11번가상품등록 1034.0 1.2 0.116054 2667.500000 3201.000
11번가입점 1580.0 1.2 0.075949 522.500000 627.000
11번가판매자 4948.0 3.6 0.072757 275.000000 990.000
... ... ... ... ... ...
회계 3269.0 0.0 0.000000 0.000000 0.000
회계책 3742.0 0.0 0.000000 0.000000 0.000
회사분위기 3599.0 1.2 0.033343 64.166667 77.000
회사소개서 5592.0 0.0 0.000000 0.000000 0.000
후위표기법 1516.0 0.0 0.000000 0.000000 0.000

1112 rows × 5 columns

grouped.median()
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 114258.5 608.4 0.428236 317.072650 301988.5
10억건물 1976.0 2.4 0.121457 1283.333333 3080.0
11번가상품등록 1034.0 1.2 0.116054 2667.500000 3201.0
11번가입점 1580.0 1.2 0.075949 522.500000 627.0
11번가판매자 4948.0 3.6 0.072757 275.000000 990.0
... ... ... ... ... ...
회계 3269.0 0.0 0.000000 0.000000 0.0
회계책 3742.0 0.0 0.000000 0.000000 0.0
회사분위기 3599.0 1.2 0.033343 64.166667 77.0
회사소개서 5592.0 0.0 0.000000 0.000000 0.0
후위표기법 1516.0 0.0 0.000000 0.000000 0.0

1112 rows × 5 columns

grouped.sum()
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 4083556 21093.6 4.128033 3108.270211 6785867
10억건물 1976 2.4 0.121457 1283.333333 3080
11번가상품등록 1034 1.2 0.116054 2667.500000 3201
11번가입점 1580 1.2 0.075949 522.500000 627
11번가판매자 4948 3.6 0.072757 275.000000 990
... ... ... ... ... ...
회계 3269 0.0 0.000000 0.000000 0
회계책 3742 0.0 0.000000 0.000000 0
회사분위기 3599 1.2 0.033343 64.166667 77
회사소개서 5592 0.0 0.000000 0.000000 0
후위표기법 1516 0.0 0.000000 0.000000 0

1112 rows × 5 columns

df_group=grouped.sum()
df_group
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 4083556 21093.6 4.128033 3108.270211 6785867
10억건물 1976 2.4 0.121457 1283.333333 3080
11번가상품등록 1034 1.2 0.116054 2667.500000 3201
11번가입점 1580 1.2 0.075949 522.500000 627
11번가판매자 4948 3.6 0.072757 275.000000 990
... ... ... ... ... ...
회계 3269 0.0 0.000000 0.000000 0
회계책 3742 0.0 0.000000 0.000000 0
회사분위기 3599 1.2 0.033343 64.166667 77
회사소개서 5592 0.0 0.000000 0.000000 0
후위표기법 1516 0.0 0.000000 0.000000 0

1112 rows × 5 columns

#클릭률(ctr) = 클릭수 / 노출수
#데이터전처리 - 데이터프레임의 열 단위 수치연산
df_group['클릭률(%)']=df_group['클릭수']/df_group['노출수']
df_group.head()
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
10억건물 1976 2.4 0 1283 3080
11번가상품등록 1034 1.2 0 2668 3201
11번가입점 1580 1.2 0 522 627
11번가판매자 4948 3.6 0 275 990
1인미디어 37024 31.2 0 1828 57035
# 평균클릭비용 칼럼 반올림처리(round), 소수점 제거(astype(int)
df_group['평균클릭비용(VAT포함,원)']=round(df_group['평균클릭비용(VAT포함,원)'],0)
df_group['평균클릭비용(VAT포함,원)']=df_group['평균클릭비용(VAT포함,원)'].astype(int)
df_group.head()
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 4083556 21093.6 0.005165 3108 6785867
10억건물 1976 2.4 0.001215 1283 3080
11번가상품등록 1034 1.2 0.001161 2668 3201
11번가입점 1580 1.2 0.000759 522 627
11번가판매자 4948 3.6 0.000728 275 990
df_group['클릭률(%)']=round(df_group['클릭률(%)'],0)
df_group['클릭률(%)']=df_group['클릭률(%)'].astype(int)
df_group.head()
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
- 4083556 21093.6 0 3108 6785867
10억건물 1976 2.4 0 1283 3080
11번가상품등록 1034 1.2 0 2668 3201
11번가입점 1580 1.2 0 522 627
11번가판매자 4948 3.6 0 275 990
df_group.drop(['-'],inplace=True)
df_group
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
10억건물 1976 2.4 0 1283 3080
11번가상품등록 1034 1.2 0 2668 3201
11번가입점 1580 1.2 0 522 627
11번가판매자 4948 3.6 0 275 990
1인미디어 37024 31.2 0 1828 57035
... ... ... ... ... ...
회계 3269 0.0 0 0 0
회계책 3742 0.0 0 0 0
회사분위기 3599 1.2 0 64 77
회사소개서 5592 0.0 0 0 0
후위표기법 1516 0.0 0 0 0

1111 rows × 5 columns

데이터 시각화

df_group['클릭수'].plot()
plt.xticks(fontsize=5) #x라벨 size 조절(10억건물등...)
plt.show()

output_25_0

imp=df_group['노출수']
clk=df_group['클릭수']
result = df_group[(imp>imp.quantile(0.95))&(clk>clk.quantile(0.95))]
result
노출수 클릭수 클릭률(%) 평균클릭비용(VAT포함,원) 총비용(VAT포함,원)
키워드
HTML 10540218 894.0 0 2602 1241867
가상화폐 91369 2838.0 0 283 803770
글씨체 106648 216.0 0 425 91806
마블 907619 228.0 0 265 60533
마케팅 392941 241.2 0 3431 280742
바이럴마케팅 3095998 261.6 0 220 57563
블록체인 347748 3117.6 0 4914 975172
스케치 300594 168.0 0 1959 182864
에프터이펙트 113863 282.0 0 8629 270996
엑셀 2043217 541.2 0 2081 668206
영상편집 140077 372.0 0 7585 862763
인디자인 187745 562.8 0 5824 246026
일러스트 1238949 358.8 0 8992 1713129
일러스트레이터 250333 783.6 0 5623 280170
컴퓨터활용능력 139729 1534.8 0 239 367147
컴퓨터활용능력1급 94757 1191.6 0 237 282018
컴퓨터활용능력2급 88751 1282.8 0 234 300058
코딩 562162 271.2 0 3243 879560
파이썬 418986 272.4 0 6070 978450
펀드 157068 208.8 0 468 53097
포토샵 3731749 3218.4 0 5167 1527383
폰트 478588 474.0 0 396 187693
프리미어프로 340821 171.6 0 2775 255299
bar = result['클릭수'].plot.bar(grid=True)
plt.xticks(fontsize=8) #x라벨 size 조절(10억건물등...)
bar.set_xlabel("키워드")
plt.show()

output_29_0