-
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