[데이터분석 인강]검색광고 데이터 분석 : 데이터 탐색 시각화ver. (선그래프)

2022. 7. 9. 19:42Data Science/with Python(Numpy, Pandas …ect.)

matplotlib을 이용한 Series 시각화를 통해

데이터 탐색을 해보고자 한다.

import pandas as pd
from pandas import DataFrame
from pandas import Series

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

우선 라이브러리 import부터

한글 오류 코드까지는 매번

하는 것과 동일하다.


Series에 대해서 데이터 시각화를

한다고 하면 특별하게 들리지만

DataFrame의 한 줄이 Series이기 때문에

df['colum명']에 함수를 적용해주면

자동으로 series에 대한 작업이 된다.

df['노출수'].plot()
plt.show()

우선 '노출수' column을

시각화해보았다.

위 코드를 돌리면 이런 그래프가 나온다.

여기서 좀 더 명확한 패턴이 보일 수 있도록

데이터 시각화를 진행할 예정이다.

 

현재 출력된 그래프는 index를 기준으로

출력되었다. (그래프의 x축=series 인덱스)
이걸 정렬된 value를 기준으로 출력해볼 것이다.

imp_sort=df['노출수'].sort_values()

우선 시각화하고자 하는 column(명)을

정하고 정렬을 해준다.

imp_sort를 출력하면 위와 같이

출력되는데 index를 지우고 싶다.

# 불필요한 열 삭제
## 형식 : drop('삭제할 인덱스명', axis=1)
imp_sort.drop('index', axis=1)

보통 drop함수가 먼저 떠오를 텐데

- axis = 0은 행, axis = 1은 열 -

drop을 떼고 기존의 imp_sort를

호출하면 다시 index가 붙어서 나온다.

즉, 삭제가 된 건 아니다.

imp_sort.drop('index', axis=1, inplace=True)

완벽하게 지우기 위해서는

replace 옵션을 넣고

True값을 줘야 한다.

 

이렇게 step by step으로 해도 되지만

(괄호)로 묶어서 한 줄 코딩도 가능하다.

(((df['클릭수'].sort_values()).reset_index()).drop('index', axis=1)).plot()

# step by step
df['클릭수'].sort_values()
(df['클릭수'].sort_values()).reset_index()
((df['클릭수'].sort_values()).reset_index()).drop('index', axis=1)
(((df['클릭수'].sort_values()).reset_index()).drop('index', axis=1)).plot()

한줄 코딩을 할 때 (괄호)가 많아지다 보니

묶다 헷갈려서 error를 낼 수 있을 때 tip

주자면 괄호를 묶고자 하는 코드를 드래그하여

블럭처리한 후 shift+9를 누르면 자동으로

블럭 앞 뒤로 (괄호)가 생성된다.