Data Study on Air Pollution In Seoul

Posted on Jul 12, 2020
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.

Photo by Johnathan21 on Shutterstock

GitHub Repository | LinkedIn

Go To Shiny Dashboard


While facial masks are commonly used to protect yourself from COVID-19 nowadays, it was not long ago when people mainly used masks on a daily basis to protect themselves from air pollution in Korea. Some might argue that it is an over-reaction to cover your face due to air pollution, yet one should not take air quality lightly as it may have a considerable impact on one's respiratory health and even quality of life. Therefore, it is important to understand the levels and data trends of air pollution in the area you live in.


This interactive data visualization project may particularly be informative to those planning to move to a different neighborhood or those interested in the general patterns of air pollution in Seoul. I used the Air Pollution In Seoul data on Kaggle, which covers 3 years (2017-2019) of pollution data including the levels of 6 pollutants (SO2, NO2, O3, CO, PM10, PM2.5) recorded every hour from 25 air quality monitors in Seoul city. The dashboard can be found here.

Here are some baseline descriptions of the 6 pollutants recorded. In general, these pollutants can cause serious respiratory illness or heart disease. Especially PM10 and PM2.5, which are also known as fine dust, have caused extra concerns as some particles get inhaled into the lungs and even get into the bloodstream.

  • Sulfur Dioxide (SO2): Produced by volcanoes and in various industrial processes. It is a precursor to acid rain.
  • Nitrogen Dioxide (NO2): The result of traffic from motor vehicles and cigarette smoke. It has a sharp odor.
  • Ozone (O3): Formed from NOx. It is a constituent of smog and can cause respiratory illness.
  • Carbon Monoxide (CO): A product of combustion of fuel such as natural gas, coal, or wood. It can cause headaches and nausea.
  • Particulate Matter 10 (PM10): Complex mixture of dust, pollen, soot, smoke, which causes respiratory infections and heart disease.
  • Particulate Matter 2.5 (PM2.5): A subset of PM10, which is thinner than a human hair. It can be inhaled into lung tissue.

With the data I have about 6 pollutants, I covered and tackled the following 3 questions in the dashboard.

  1. Does the fine dust level vary across different neighborhoods in Seoul?
  2. Is there any apparent trend in air pollution levels?
  3. In a given year, how many days were with good air quality?

Varying fine dust levels across the city

Data Study on Air Pollution In Seoul

In order to answer to the first question whether fine dust level varies across different neighborhoods in Seoul, I created a map where you can explore the levels of PM10 and PM2.5 in different neighborhoods with the timeline you specified. Here we can see that the average PM10 level in Seocho-gu on May 1st, 2017 was 115, which is considered bad. Moreover, the PM10 level fluctuated throughout the day in Seocho-gu ranging from 73 to 163. Hence, we can understand that there are hours when the air quality is normal but also very bad just within the span of one day.

Data Study on Air Pollution In Seoul
The unit of measurement for the values is 'microgram/m3

The widgets above further show the neighborhoods with the best and worst air quality within the same timeline you specified for the map. As mentioned above, the average air quality in Seocho-gu is bad, and it was selected as the neighborhood with the worst air quality within the timeline specified. For those who do not know Seoul city, I want to point out that Seocho-gu is a densely populated urban area with a lot of skyscrapers and traffic. On the other hand, Gangbuk-gu is a relatively less populated mountainside area. You can explore other neighborhoods as well in the dashboard.

Data Trends in air pollution levels

The above plot shows a strong seasonal trend in the levels of NO2 and O3. Moreover, it is apparent that these two pollutants are negatively correlated with each other. While NO2 level peaks during winter, O3 level does during summer, and this is largely due to the fact that NO2 is a product of combustion of fuel from vehicles and power plants, and O3 is generated by NO2 when contacted with sunlight.

Data Study on Air Pollution In Seoul

Here above, we can see the enhancements in the concentration levels of PM10 and PM2.5 at the beginning of winter and the decreasing trend at the end of spring. PM10 and PM2.5 mostly consist of dust, pollen, soot, and smoke, which are trapped in the dense layer of cool air due to winter inversions during winter (Source: Tooele County Health Department).

Data Study on Air Pollution In Seoul

The overall correlation of each pollutant is also visualized in the above correlation heatmap. We can again confirm the negative correlation O3 has with N02 and other pollutants.

Data on days with good air quality

In the dashboard, you can pick your pollutant of interest and see the count of days aggregated by daily average air quality. Here I presented the count of days with PM10. Based on this bar plot created with the daily average of pollutant level, one might think that the air quality in Seoul is actually normal or even good because it is rare that the daily average is bad or very bad. However, I want to show you the density plot of pollutant levels, in this case with PM10, created below.

We can easily notice that the density plot is very right-skewed meaning that there are hours when pollutant levels are very high. This informs us that perhaps the daily average might not be a good measure of daily air quality. What I would rather be interested in is how bad the air quality gets during its worst hours.

So here is another representation of the count of days with the daily maximum level of PM10. Now, we see a completely different story with the air pollution level. With the daily max level of PM10, there is rarely a week, in any of the years given, that the max level of PM10 was good. Therefore, it is important to understand and be aware of the fluctuating nature of air pollution levels.


In this interactive data visualization project, I visualized and mapped the levels and trends of air pollution in Seoul, South Korea. I showed the different air pollution levels across Seoul city. I also identified the correlations between the pollutants and confirmed the periodic seasonal trends. Lastly, I scrutinized the count of days with good air quality in terms of daily average and daily maximum. With the questions tackled in this project, the users of the dashboard can better understand the air quality of Seoul. Thank you for taking the time to read this blog post!

About Author

Ryan Park

Ryan is a military-trained and detail-oriented data science professional who combines well-honed leadership and research skills with data science techniques to create informative translations of real-world data that generate business value. He currently works at YipitData as a...
View all posts by Ryan Park >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI