[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 2. 대기오염물질 자료 수집 및 후처리

2025. 1. 29. 19:40·여러가지 데이터/프로그래밍 & 분석
목차
  1. - 개요
  2. - 자료 수집
  3. - 자료 후처리

- 개요

이번 포스트에서는 설날 대기오염물질 자료를 분석하기 위해 대기오염물질 자료를 수집하고, 후처리 작업을 합니다.

에어코리아에서 제공하는 대기오염물질 자료는 이미 정제가 된 자료라 정제라 표현하기 애매하네요.

 

- 자료 수집

먼저 에어코리아 최종확정자료를 다운받습니다.

아래의 링크를 따라가면 바로 자료를 다운로드 받을 수 있는 페이지가 나옵니다.

에어코리아 메인페이지부터 시작하는 분은 그림의 통계정보 >> 최종확정 측정자료 조회 >> 확정자료 다운로드를 클릭해서 받아주세요.

https://www.airkorea.or.kr/web/last_amb_hour_data?pMENU_NO=123

 

 

- 자료 후처리

자료 후처리의 기준은 2가지입니다.

1. 설날은 1월, 2월에만 있으므로 1, 2월 자료만 추출

2. 서울의 교통량과 관련된 분석을 할 것이므로 도로변대기 측정소 추출

 

대기오염물질 측정소 종류에는 도시대기 측정망, 국가배경농도 측정망, 교외대기 측정망, 도로변대기 측정망, 항만 측정망이 있습니다. 자세한 설명은 에어코리아에 있으니 링크를 참고해주세요. https://www.airkorea.or.kr/web/contents/contentView/?pMENU_NO=92&cntnts_no=2 

여기서 도로변대기 측정망은 이름 그대로 도로 근처의 대기오염물질 농도를 측정하는 관측소입니다.

 

자료를 다운받아서 열어보면 서울 말고도 다른 지역도 있기 때문에 서울의 도로변대기 측정망 자료만 추출해야합니다.

서울에 있는 도로변대기 측정소의 정보를 확인하고 싶으시면 아까 통계정보 페이지에서 "대기환경 월간/연간 보고서"를 클릭하시고 2023년의 대기환경 연보를 다운로드 받은 뒤 파일의 뒷부분을 확인해보시길 바랍니다.

참고로 이번 포스트에서 공간시각화는 안하지만 측정소별 위경도도 나와있어 시각화할 때 필요한 정보이긴 합니다.

 

사실 자료를 후처리를 하는 이유는 원본 자료를 바로 읽으면 너무 오래걸리기 때문입니다.

아래의 코드가 돌아가는 시간도 꽤 기니까 기다려주세요.

import os
import pandas as pd
"""
분석기간은 교통량과 마찬가지로 2016년부터 2024년까지 입니다.
stnlist는 대기환경연보를 참고하여 서울의 도로변대기 측정소의 측정소 코드를 적은 것입니다.
연도별 자료를 확인하면 분기별 또는 월별로 자료가 저장되어 있습니다.
파일 이름에 [' 1월', ' 2월', '1분기', '01월', '02월'] 이러한 문자열이 포함되어 있으면
1월 혹은 2월 자료가 해당 파일에 있는 것입니다.

"""
years = range(2016, 2024+1)
stnlist = [111202, 111213, 11232, 111242, 111263,111264, 111275, 111312, 111282]


def filter_by_month(data_list, months):
    return [item for item in data_list if any(month in item for month in months)]

dfs = []
for year in years:
    inpath = f"./data/{year}" # 원본 자료를 연도 폴더에 저장했음
    fnlist_ = os.listdir(inpath)
    fnlist = filter_by_month(fnlist_, [' 1월', ' 2월', '1분기', '01월', '02월'])
    for fn in fnlist:
        df = pd.read_excel(f'{inpath}/{fn}')
        df['측정소코드'] =  df['측정소코드'].astype(int)
        filtered_df = df[df['측정소코드'].isin(stnlist)].reset_index(drop=True) # 도로변대기측정소만 추출
        dfs.append(filtered_df)
df = pd.concat(dfs)

 

다음으로 시간 자료를 수정합니다.

교통량 자료에서 시간은 0, 1, ..., 23시로 0부터 23까지 있습니다.

보통 0~23시를 쓰는데 이상하게도 대기오염물질 자료의 시간은 1부터 24입니다.

24시를 00시로 바꿔야합니다.

그리고 csv파일로 저장해줍시다.

def fix_invalid_time(value):
    value = str(value)  # 정수형을 문자열로 변환
    if value.endswith('24'):  # 끝이 '24'로 끝나는지 확인
        date_part = value[:8]  # 날짜 부분 (YYYYMMDD)
        fixed_date = pd.to_datetime(date_part) + pd.Timedelta(days=1)  # 날짜 + 1일
        return fixed_date.strftime('%Y%m%d') + '00'  # 시간 부분을 '00'으로 설정
    return value
df['측정일시'] = df['측정일시'].apply(fix_invalid_time)
df.to_csv('air_pollutant.csv')

 

다음 포스트에서는 설날기간의 교통량, 대기오염물질 농도를 확인, 해석해보겠습니다.

'여러가지 데이터 > 프로그래밍 & 분석' 카테고리의 다른 글

[python][지하철 승하차 자료] 회사원은 언제 연차를 낼까? 2. 연차를 내는 시기  (0) 2025.03.15
[python][지하철 승하차 자료] 회사원은 언제 연차를 낼까? 1. 승하차인원 분석기간 선정  (0) 2025.03.09
[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 3. 설날기간의 서울 교통량/대기오염물질 농도  (0) 2025.02.01
[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 1. 서울 교통량 자료 수집 및 정제  (0) 2025.01.28
  1. - 개요
  2. - 자료 수집
  3. - 자료 후처리
'여러가지 데이터/프로그래밍 & 분석' 카테고리의 다른 글
  • [python][지하철 승하차 자료] 회사원은 언제 연차를 낼까? 2. 연차를 내는 시기
  • [python][지하철 승하차 자료] 회사원은 언제 연차를 낼까? 1. 승하차인원 분석기간 선정
  • [설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 3. 설날기간의 서울 교통량/대기오염물질 농도
  • [설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 1. 서울 교통량 자료 수집 및 정제
레까
레까
  • 레까
    데이터 조아
    레까
  • 전체
    오늘
    어제
    • 전체 (86)
      • 대기과학 (45)
        • 프로그래밍 (42)
        • 개념 (2)
        • 칼럼 (1)
      • 여러가지 데이터 (5)
        • 프로그래밍 & 분석 (5)
      • 프로그래밍 (15)
        • 파이썬 (8)
        • 시각화 (6)
        • 유용 (1)
      • 프로젝트 (17)
        • 기계학습 기반 서울 기온 예측 (9)
        • 사과게임 매크로 만들기 (4)
        • 버스 한 번으로 특정 지역에 갈 수 있는 지역 찾.. (4)
      • 데이터리안 SQL 공부 (3)
      • 주제별 링크 모음 (1)
      • 백업 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
레까
[설특집][python] 설날기간 서울의 교통량과 대기오염물질(CO, NO2, O3) 확인 및 해석 : 2. 대기오염물질 자료 수집 및 후처리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.