ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Data Visualizaion - Pandas 기초 week2-2 실습 (part1)
    Data Visualization 2020. 9. 14. 16:03

    Pandas 기초

    import pandas as pd    # 보통 이처럼 pandas 패키지를 import 
    import numpy as np
    import matplotlib.pyplot as plt 
    
    # matplotlib 시각화 출력을 주피터 노트북에 삽입토록 
    %matplotlib inline   
    # index_col 제일 왼쪽의 0번째 열이 index 컬럼이 될 것이다 라는 뜻
    # parse_dates=True 날짜를 알아서 인식해서 가져오라는 뜻
    air_quality = pd.read_csv("./air_quality_no2.csv", index_col=0, parse_dates=True)
    type(air_quality)
    # pandas.core.frame.DataFrame
    air_quality

    air_quality.values #  airquality를 numpy array로 읽어 올 때

     

    air_quality.head()   # 간단히 첫 몇 개의 데이터 포인트를 보고 싶다...
    air_quality.tail()   # 마지막 몇 개의 데이터 확인

     

     

    # air_quality 에서 station_antwerp 에 대한 데이터 중 null이 아닌 것들만 출력

     

    air_quality.describe()

    -> air_quality에 대한 최대, 최소, 중간, 평균값 등 기본적인 통계치를 확인

     

     

    그래프 그리기

    air_quality 그래프를 그려라 하면 이렇게

    -> 2019-06-08 부분에 빈부분 있음 => 데이터가 없는 부분(결측치)

    # 그림을 좀 더 크게... 글자도 키우고.   그리드 선도 집어 넣자.
    air_quality.plot(figsize=(10, 6), fontsize=14) 
    plt.xlabel('datetime', fontsize=18)
    plt.ylabel('Temp(F)', fontsize=18, rotation=60) # Temp label의 텍스트를 60도 회전
    plt.grid(True)

    ※ 궁금한 부분 커서 올리고, Shift + Tap 누르면 정보가 나옴

    # 나는 `Paris`의 기온만 그려보고 싶다
    air_quality["station_paris"].plot()

     

    # 런던과 파리의 NO2 관계를 알고 싶다
    air_quality.plot.scatter(x="station_london", y="station_paris", alpha=0.5) 
    
    # 이 그림으로 무엇을 알고 싶었을까요?

    - 산점도는 ~ plot.scatter() 로 그림

     

    [method_name for method_name in dir(air_quality.plot) if not method_name.startswith("_")]
    # 뭐 한거죠?    

    plot 내부에 사용할 수 있는 그래프들

    air_quality.plot를 적고 .을 찍고, TAB을 왼쪽 새끼 손가락을 뻗쳐 누르세요. 그러면 적용할 수 있는 함수나 attribute들이 나와요.

     

    Box Plot 만드는 3가지 방법

     

     

    Area

    axs = air_quality.plot.area(figsize=(12, 4), subplots=True)

    subplots=True -> 개별 plot으로 나누겠다는 뜻

    y축 scale이 다름

    air_quality.plot(kind='area', figsize=(12, 4), subplots=True, sharey=True)  # 위 그림과 뭐가 다르죠? 

    아래 방식은 모든 plot의 y축의 scale 이 동일하다 1~100

     

     

     Numpy, Pandas, Matplotlib 다 서로 다른 패지지들이에요. 그런데, Pandas는 Numpy를 필요로 하고, 보다시피 Pandas의 plot은 사실은 matplotlib.pyplot이 제공하는 함수들을 포장한 것이네요. 

    Pandas가 왜 또 plot을 제공하는 것이죠? matplotlib.pyplot이 다 해 주는데? matplotlib.pyplot도 똑 같은 이름의 plot 함수를 제공하고 Pandas도 plot을 제공하고. 헸갈리게...

     

     

    'Data Visualization' 카테고리의 다른 글

    Data Visualizaion - Pandas 기초 week2-2 실습 (part2)  (0) 2020.09.14
Designed by Tistory.