시각화 라이브러리
- matplotlib
- seaborn
데이터 준비
1) 데이터 다운로드 - 2022년 2월 서울특별시 중구 대기정보 데이터 사용
에어코리아 → 통계정보 → 최종확정 측정자료 조회 → 확정자료 다운로드 → 2022년 데이터 다운로드
https://www.airkorea.or.kr/web/last_amb_hour_data?pMENU_NO=123
에어코리아 : 최종확정 측정자료 조회
최종확정 측정자료 조회
www.airkorea.or.kr
2) 데이터 준비
- 라이브러리
# 라이브러리
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
- 데이터 준비
df = pd.read_excel('C:\\Users\\User\\Python03\\에어코리아2021_2022\\2022년 2월.xlsx')
# 중구 데이터만
df1 = df[df['측정소명']=='중구']
# 중구 데이터 복사해서 test 데이터프레임 생성
test = df1.copy()
# 측정일시 컬럼을 문자열로 변환
test['측정일시'] = test['측정일시'].astype('str')
# 측정일시 컬럼 값 8자리를 추출하여 측정날짜 컬럼으로 생성
test['측정날짜'] = test['측정일시'].str[:8]
# 측정날짜 컬럼을 데이터 타입으로 변환
test['측정날짜'] = pd.to_datetime(test['측정날짜'], format=('%Y-%m-%d'))
# 측정날짜별 대기정보 총합
df2 = test.groupby('측정날짜', as_index=False)[['SO2', 'CO', 'O3', 'NO2', 'PM25']].sum()
df2.head()
=> 2022년 2월 서울특별시 중구 대기정보 데이터 사용하기 위한 전처리 과정
=> 위 데이터를 사용하여 시각화 진행
3) 시각화
- plot()
# PM25 시각화
df2['PM25'].plot()
=> PM25 시각화. X축은 인덱스 Y축은 PM25 값. PM25값의 변화를 확인할 수 있다.
=> 원하는 데이터 컬럼 뒤에 .plot()을 붙이면 pandas에서 간단하게 시각화할 수 있다.
- matplotlib()
plt.figure(figsize=(10,5))
plt.plot(df2['측정날짜'], df2['PM25'])
plt.show()
=> plt.figure(figsize=(10,5)) : 가로 10, 세로 5 크기의 그림을 만듬
(figure은 그림을 그리기 위한 크기를 정한다고 생각하면 이해하는 데 도움이 됨)
=> plt.plot(df2['측정날짜'], df2['PM25']) : X값은 측정날짜, Y값은 PM25 수치를 갖는 선 그래프
=> plt.show() : jupyter에서는 작성을 안해도 그래프가 보이지만, 다른 환경에서는 작성해줘야 그래프를 출력함.
(마지막에 작성해주는 습관..!)
- seaborn()
plt.figure(figsize=(10,5))
sns.lineplot(x = df2['측정날짜'], y = df2['PM25'])
plt.show()
=> seaborn에서 선그래프는 lineplot()임.
=> seaborn은 더 다양하게 그래프를 그릴 수 있음.
=> 한글이 깨진 것을 확인
*** 한글 보이게 설정, 그래프 선명하게 설정
# 폰트설정
plt.rcParams['font.family'] = 'Malgun Gothic'
plt.rcParams['axes.unicode_minus'] = False
# 그래프 선명
%config InlineBackend.figure_format = 'retina'
plt.figure(figsize=(10,5))
sns.lineplot(x = df2['측정날짜'], y = df2['PM25'])
plt.show()
=> 한글 폰트 설정과 선명하게 만드는 코드를 실행 후, sns.linplot() 재실행 결과
=> 한글 보이고, 더 선명함
-- matplotlib, seaborn에 대한 구체적인 내용은 다음 포스팅 참고
'Python 파이썬' 카테고리의 다른 글
파이썬 seaborn(1) - 숫자형 변수 (0) | 2023.03.02 |
---|---|
파이썬 matplotlib(1) - 숫자형 변수 (0) | 2023.02.28 |
파이썬 데이터프레임 집계 (0) | 2023.02.24 |
파이썬 데이터프레임 - pandas 기초(4-3) (0) | 2023.02.23 |
파이썬 데이터프레임 - pandas 기초(4-2) (0) | 2023.02.22 |