과제


2024-06-03

오늘 할 일

  • 서울시 2023년 미세먼지 데이터 찾고, 불러오기
  • 데이터 정보 확인
    • 데이터 정보를 확인한다는 것
      • columns
      • shape
      • dtypes
      • unique
        • 고유값 개수 확인
        • 권역명 데이터 고유값들 확인
        • 측정소명 데이터 고유값들 확인
        • 수치값들에 대한 데이터 고유값은 min, max등으로 나타낸 표를 통해 나타낸다 (describe())
      • info
      • describe
  • 결측값(Missing value) 파악하기
    • 이산화질소농도(ppm)의 결측값 개수는 77개로 확인됨
    • 오존농도(ppm)의 결측값 개수는 71개로 확인됨
    • 일산화탄소농도(ppm)의 결측값 개수는 260개로 확인됨
    • 아황산가스농도(ppm)의 결측값 개수는 153개로 확인됨
    • 미세먼지농도(㎍/㎥)의 결측값 개수는 89개로 확인됨
    • 초미세먼지농도(㎍/㎥)의 결측값 개수는 74개로 확인됨
  • 통합대기환경지수 대신에 측정소명 별 농도 평균 구하기
  • 광진구의 미세먼지 데이터프레임 추출
  • 광진구의 미세먼지 데이터를 이용해 Boxplot 만들기
  • 광진구의 미세먼지 데이터를 이용해 Lineplot 만들기

과제 실행

서울시 2023년 미세먼지 데이터 찾고, 불러오기
import pandas as pd
import mataplotlib.pyplot as plt
 
# DataFrame 나타내기
dust_reviews = pd.read_csv("C:/Users/pps/Desktop/배정환(인턴)/기간별_일평균_대기환경_정보_2023년.csv", encoding='cp949', index_col=0)
 
dust_reviews
데이터 정보 확인하기
  1. columns(행) 확인하기
# Columns 확인하기
dust_reviews.columns
  1. 행/ 열 크기 확인하기
# 헹/열 크기 확인
dust_reviews.shape
  1. 각 column의 데이터 타입 확인하기
# 각 column의 데이터 타입 확인하기
dust_reviews.dtypes
  1. 고유한 값 확인하기
# 고유값 개수 확인
dust_reviews.nunique()
 
# 권역명 데이터의 고유값 확인
dust_reviews['권역명'].unique()
 
# 측정소명 데이터의 고유값 확인
dust_reviews['측정소명'].unique()
  1. Column별 요약 통계량을 나타내는 표
# 이산화질소농도, 오존농도, 일산화탄소농도, 아황산가스농도, 미세먼지농도, 초미세먼지 농도에 대한 요약
dust_reviews.describe()
  1. 데이터에 대한 전반적인 정보를 나타냄. 구성하는 행과 열의 크기, 컬럼명, 컬럼을 구성하는 값의 자료형 등을 출력
dust_reviews.info()
결측치 확인하기
# 결측치 값만 가지고 오기
# 결측치 값이 0인것은 뺌
dust_reviews.isnull().sum().sort_values(ascending=False)[dust_reviews.isnull().sum().sort_values(ascending=False) != 0]
 
# 오존농도(ppm)의 결측값 확인
dust_reviews.loc[dust_reviews['오존농도(ppm)'].isnull()]
 
# 일산화탄소(ppm)의 결측값 개수 확인
dust_reviews['일산화탄소농도(ppm)'].isnull().sum()
측정소명 별 각 농도 평균 구하기
# 측정소명 별 이산화질소농도 평균 구하기
dust_reviews.groupby('측정소명')['이산화질소농도(ppm)'].mean()
 
# 측정소 별 초미세먼지농도 min, max, mean 구하기
dust_reviews.groupby('측정소명')['초미세먼지(㎍/㎥)'].agg(['mean','max','min'])
광진구의 미세먼지 데이터 추출
# 측정소명이 광진구인것으로 추리기
Gwangjin_reviewed=dust_reviews[dust_reviews['측정소명'] == '광진구']
# 측정소명(광진구)와 미세먼지만 추출하기
makeplot_gwangjin_reviewd=Gwangjin_reviewed[['측정소명','미세먼지(㎍/㎥)']]

한글 글꼴 설정
import matplotlib.pyplot as plt
 
font_path = 'C:/Users/pps/AppData/Local/Microsoft/Windows/Fonts/NanumBarunGothic.ttf'
font_name = plt.matplotlib.font_manager.FontProperties(fname=font_path).get_name()
 
plt.rcParams['font.family'] = font_name

광진구의 미세먼지 데이터를 이용해 Boxplot 만들기
make_boxplot_gwangjin_reviewd=Gwangjin_reviewed[['측정소명','미세먼지(㎍/㎥)']]
make_boxplot_gwangjin_reviewd.boxplot()
plt.show()
광진구의 미세먼지 데이터를 이용해 Lineplot 만들기
make_lineplot = Gwangjin_reviewed[['미세먼지(㎍/㎥)']]
make_lineplot.plot()
plt.show()