{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Inspecting air pollution data from OpenAQ using Colab, Pandas, and BigQuery.ipynb",
      "version": "0.3.2",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "metadata": {
        "id": "Qb_7EOWgmDWa",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "#@title Authenticate user\n",
        "from google.colab import auth\n",
        "auth.authenticate_user()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "aa3wz8aUpm44",
        "colab_type": "code",
        "outputId": "40bd0e10-6bb1-4f59-9a5f-236b2d7f1a15",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1969
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Pull OpenAQ data via BigQuery\n",
        "%%bigquery --project silicon-perigee-208521 p\n",
        "#standardSQL\n",
        "select\n",
        "  pollutant,\n",
        "  country,\n",
        "  city,\n",
        "  location,\n",
        "  value\n",
        "from `bigquery-public-data.openaq.global_air_quality`;"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>pollutant</th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>007</td>\n",
              "      <td>Plain_Mobile</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>007</td>\n",
              "      <td>Cle Elum_Mobile</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>007</td>\n",
              "      <td>Leavenworth_Mobile</td>\n",
              "      <td>10.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>037</td>\n",
              "      <td>Mobile_Cle Elum</td>\n",
              "      <td>62.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>039</td>\n",
              "      <td>Mobile_WhiteSalmon</td>\n",
              "      <td>58.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>047</td>\n",
              "      <td>Brewster_Mobile</td>\n",
              "      <td>7.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>051</td>\n",
              "      <td>Mobile_Newport</td>\n",
              "      <td>29.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>051</td>\n",
              "      <td>Newport_Mobile</td>\n",
              "      <td>-2.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>051</td>\n",
              "      <td>Mobile_Newport_2017</td>\n",
              "      <td>26.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>co</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>0.290000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>bc</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>0.600000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>11</th>\n",
              "      <td>no2</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>0.008000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>12</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>12.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>13</th>\n",
              "      <td>pm10</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>46.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>14</th>\n",
              "      <td>o3</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>FR33305</td>\n",
              "      <td>136.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>pm10</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>FR33305</td>\n",
              "      <td>34.830000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>no2</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>FR33305</td>\n",
              "      <td>66.800000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17</th>\n",
              "      <td>o3</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>COTIERE AIN</td>\n",
              "      <td>128.350000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>18</th>\n",
              "      <td>no2</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>COTIERE AIN</td>\n",
              "      <td>3.750000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>19</th>\n",
              "      <td>pm10</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>COTIERE AIN</td>\n",
              "      <td>21.280000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>20</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>FRA</td>\n",
              "      <td>MMFRA1001</td>\n",
              "      <td>8.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>21</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM 1</td>\n",
              "      <td>3.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>22</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Coso</td>\n",
              "      <td>20.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>23</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ June</td>\n",
              "      <td>-2.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>24</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Alpin</td>\n",
              "      <td>14.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Bisho</td>\n",
              "      <td>1.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>26</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Bridg</td>\n",
              "      <td>4.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>27</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Crowl</td>\n",
              "      <td>12.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>28</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Lee V</td>\n",
              "      <td>5.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>29</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>KAY</td>\n",
              "      <td>Ponca City</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25170</th>\n",
              "      <td>no2</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>3.804000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25171</th>\n",
              "      <td>so2</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>3.573000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25172</th>\n",
              "      <td>pm25</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>12.185000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25173</th>\n",
              "      <td>o3</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>57.693000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25174</th>\n",
              "      <td>o3</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...</td>\n",
              "      <td>59.200000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25175</th>\n",
              "      <td>no2</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...</td>\n",
              "      <td>0.900000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25176</th>\n",
              "      <td>pm10</td>\n",
              "      <td>HU</td>\n",
              "      <td>Hungarian Regional Background Air Pollution  M...</td>\n",
              "      <td>K-puszta</td>\n",
              "      <td>32.600000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25177</th>\n",
              "      <td>no2</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Rosia Road</td>\n",
              "      <td>26.800000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25178</th>\n",
              "      <td>so2</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Rosia Road</td>\n",
              "      <td>5.300000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25179</th>\n",
              "      <td>co</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Rosia Road</td>\n",
              "      <td>350.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25180</th>\n",
              "      <td>no2</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Bleak House</td>\n",
              "      <td>24.900000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25181</th>\n",
              "      <td>o3</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Bleak House</td>\n",
              "      <td>55.900000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25182</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Laois Emo Court</td>\n",
              "      <td>35.150000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25183</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Laois Emo Court</td>\n",
              "      <td>3.438000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25184</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Clare Ennis Simms Lane</td>\n",
              "      <td>1.862000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25185</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Kilkenny Seville Lodge</td>\n",
              "      <td>0.191000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25186</th>\n",
              "      <td>co</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Coleraine Street</td>\n",
              "      <td>0.345422</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25187</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Coleraine Street</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25188</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Coleraine Street</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25189</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Winetavern Street</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25190</th>\n",
              "      <td>co</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Winetavern Street</td>\n",
              "      <td>0.198059</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25191</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Monaghan Kilkitt Waterworks</td>\n",
              "      <td>2.726500</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25192</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Monaghan Kilkitt Waterworks</td>\n",
              "      <td>1.528000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25193</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Mayo Castlebar John Moore Road</td>\n",
              "      <td>37.950000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25194</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Clonskeagh Road Richview</td>\n",
              "      <td>42.784000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25195</th>\n",
              "      <td>pm25</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>0.377067</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25196</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>9.836500</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25197</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>18.050000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25198</th>\n",
              "      <td>pm10</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>2.238530</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25199</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>1.662500</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>25200 rows × 5 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "      pollutant country                                               city  \\\n",
              "0          pm25      US                                                007   \n",
              "1          pm25      US                                                007   \n",
              "2          pm25      US                                                007   \n",
              "3          pm25      US                                                037   \n",
              "4          pm25      US                                                039   \n",
              "5          pm25      US                                                047   \n",
              "6          pm25      US                                                051   \n",
              "7          pm25      US                                                051   \n",
              "8          pm25      US                                                051   \n",
              "9            co      US                                                ADA   \n",
              "10           bc      US                                                ADA   \n",
              "11          no2      US                                                ADA   \n",
              "12         pm25      US                                                ADA   \n",
              "13         pm10      US                                                ADA   \n",
              "14           o3      FR                                                Ain   \n",
              "15         pm10      FR                                                Ain   \n",
              "16          no2      FR                                                Ain   \n",
              "17           o3      FR                                                Ain   \n",
              "18          no2      FR                                                Ain   \n",
              "19         pm10      FR                                                Ain   \n",
              "20         pm25      US                                                FRA   \n",
              "21         pm25      US                                                GBU   \n",
              "22         pm25      US                                                GBU   \n",
              "23         pm25      US                                                GBU   \n",
              "24         pm25      US                                                GBU   \n",
              "25         pm25      US                                                GBU   \n",
              "26         pm25      US                                                GBU   \n",
              "27         pm25      US                                                GBU   \n",
              "28         pm25      US                                                GBU   \n",
              "29          so2      US                                                KAY   \n",
              "...         ...     ...                                                ...   \n",
              "25170       no2      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25171       so2      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25172      pm25      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25173        o3      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25174        o3      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25175       no2      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25176      pm10      HU  Hungarian Regional Background Air Pollution  M...   \n",
              "25177       no2      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25178       so2      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25179        co      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25180       no2      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25181        o3      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25182        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25183       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25184       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25185       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25186        co      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25187       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25188       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25189       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25190        co      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25191       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25192       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25193        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25194        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25195      pm25      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25196       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25197        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25198      pm10      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25199       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "\n",
              "                                                location       value  \n",
              "0                                           Plain_Mobile    0.000000  \n",
              "1                                        Cle Elum_Mobile    0.000000  \n",
              "2                                     Leavenworth_Mobile   10.000000  \n",
              "3                                        Mobile_Cle Elum   62.000000  \n",
              "4                                     Mobile_WhiteSalmon   58.000000  \n",
              "5                                        Brewster_Mobile    7.000000  \n",
              "6                                         Mobile_Newport   29.000000  \n",
              "7                                         Newport_Mobile   -2.000000  \n",
              "8                                    Mobile_Newport_2017   26.000000  \n",
              "9                                              Near Road    0.290000  \n",
              "10                                             Near Road    0.600000  \n",
              "11                                             Near Road    0.008000  \n",
              "12                                             Near Road   12.000000  \n",
              "13                                             Near Road   46.000000  \n",
              "14                                               FR33305  136.000000  \n",
              "15                                               FR33305   34.830000  \n",
              "16                                               FR33305   66.800000  \n",
              "17                                           COTIERE AIN  128.350000  \n",
              "18                                           COTIERE AIN    3.750000  \n",
              "19                                           COTIERE AIN   21.280000  \n",
              "20                                             MMFRA1001    8.000000  \n",
              "21                                        GBUAPCD EBAM 1    3.000000  \n",
              "22                                   GBUAPCD EBAM @ Coso   20.000000  \n",
              "23                                   GBUAPCD EBAM @ June   -2.000000  \n",
              "24                                  GBUAPCD EBAM @ Alpin   14.000000  \n",
              "25                                  GBUAPCD EBAM @ Bisho    1.000000  \n",
              "26                                  GBUAPCD EBAM @ Bridg    4.000000  \n",
              "27                                  GBUAPCD EBAM @ Crowl   12.000000  \n",
              "28                                  GBUAPCD EBAM @ Lee V    5.000000  \n",
              "29                                            Ponca City    0.000000  \n",
              "...                                                  ...         ...  \n",
              "25170  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...    3.804000  \n",
              "25171  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...    3.573000  \n",
              "25172  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...   12.185000  \n",
              "25173  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...   57.693000  \n",
              "25174  ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...   59.200000  \n",
              "25175  ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...    0.900000  \n",
              "25176                                           K-puszta   32.600000  \n",
              "25177                                         Rosia Road   26.800000  \n",
              "25178                                         Rosia Road    5.300000  \n",
              "25179                                         Rosia Road  350.000000  \n",
              "25180                                        Bleak House   24.900000  \n",
              "25181                                        Bleak House   55.900000  \n",
              "25182                                    Laois Emo Court   35.150000  \n",
              "25183                                    Laois Emo Court    3.438000  \n",
              "25184                             Clare Ennis Simms Lane    1.862000  \n",
              "25185                             Kilkenny Seville Lodge    0.191000  \n",
              "25186                            Dublin Coleraine Street    0.345422  \n",
              "25187                            Dublin Coleraine Street    0.000000  \n",
              "25188                            Dublin Coleraine Street    0.000000  \n",
              "25189                           Dublin Winetavern Street    0.000000  \n",
              "25190                           Dublin Winetavern Street    0.198059  \n",
              "25191                        Monaghan Kilkitt Waterworks    2.726500  \n",
              "25192                        Monaghan Kilkitt Waterworks    1.528000  \n",
              "25193                     Mayo Castlebar John Moore Road   37.950000  \n",
              "25194                    Dublin Clonskeagh Road Richview   42.784000  \n",
              "25195                   Dublin Rathmines Wynnefield Road    0.377067  \n",
              "25196                   Dublin Rathmines Wynnefield Road    9.836500  \n",
              "25197                   Dublin Rathmines Wynnefield Road   18.050000  \n",
              "25198                   Dublin Rathmines Wynnefield Road    2.238530  \n",
              "25199                   Dublin Rathmines Wynnefield Road    1.662500  \n",
              "\n",
              "[25200 rows x 5 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 2
        }
      ]
    },
    {
      "metadata": {
        "id": "CqY8FVV6nOYT",
        "colab_type": "code",
        "outputId": "00d9dcf7-aa25-45c8-bf39-f24e92592ee5",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 2479
        }
      },
      "cell_type": "code",
      "source": [
        "#@title For each pollutant, calculate rank of each location within its country and world-wide \n",
        "# Rank within world\n",
        "p = p.assign(world_rank=(\n",
        "      p.groupby(['pollutant'])['value']\n",
        "        .rank(method='min', ascending=False)\n",
        "        .astype(int)))\n",
        "# Rank within country\n",
        "p = p.assign(country_rank=(\n",
        "      p.groupby(['pollutant', 'country'])['value']\n",
        "        .rank(method='min', ascending=False)\n",
        "        .astype(int)))\n",
        "# Rank within city\n",
        "p = p.assign(city_rank=(\n",
        "      p.groupby(['pollutant', 'country', 'city'])['value']\n",
        "        .rank(method='min', ascending=False)\n",
        "        .astype(int)))\n",
        "p"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>pollutant</th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "      <th>country_rank</th>\n",
              "      <th>city_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>007</td>\n",
              "      <td>Plain_Mobile</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>3757</td>\n",
              "      <td>964</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>007</td>\n",
              "      <td>Cle Elum_Mobile</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>3757</td>\n",
              "      <td>964</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>007</td>\n",
              "      <td>Leavenworth_Mobile</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>2222</td>\n",
              "      <td>253</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>037</td>\n",
              "      <td>Mobile_Cle Elum</td>\n",
              "      <td>62.000000</td>\n",
              "      <td>523</td>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>039</td>\n",
              "      <td>Mobile_WhiteSalmon</td>\n",
              "      <td>58.000000</td>\n",
              "      <td>556</td>\n",
              "      <td>5</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>047</td>\n",
              "      <td>Brewster_Mobile</td>\n",
              "      <td>7.000000</td>\n",
              "      <td>2631</td>\n",
              "      <td>435</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>051</td>\n",
              "      <td>Mobile_Newport</td>\n",
              "      <td>29.000000</td>\n",
              "      <td>1079</td>\n",
              "      <td>35</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>051</td>\n",
              "      <td>Newport_Mobile</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>3858</td>\n",
              "      <td>1009</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>051</td>\n",
              "      <td>Mobile_Newport_2017</td>\n",
              "      <td>26.000000</td>\n",
              "      <td>1191</td>\n",
              "      <td>40</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>co</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>0.290000</td>\n",
              "      <td>2453</td>\n",
              "      <td>85</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>bc</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>0.600000</td>\n",
              "      <td>49</td>\n",
              "      <td>6</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>11</th>\n",
              "      <td>no2</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>0.008000</td>\n",
              "      <td>4541</td>\n",
              "      <td>121</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>12</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>12.000000</td>\n",
              "      <td>2025</td>\n",
              "      <td>194</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>13</th>\n",
              "      <td>pm10</td>\n",
              "      <td>US</td>\n",
              "      <td>ADA</td>\n",
              "      <td>Near Road</td>\n",
              "      <td>46.000000</td>\n",
              "      <td>1213</td>\n",
              "      <td>13</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>14</th>\n",
              "      <td>o3</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>FR33305</td>\n",
              "      <td>136.000000</td>\n",
              "      <td>46</td>\n",
              "      <td>11</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>pm10</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>FR33305</td>\n",
              "      <td>34.830000</td>\n",
              "      <td>1646</td>\n",
              "      <td>56</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>no2</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>FR33305</td>\n",
              "      <td>66.800000</td>\n",
              "      <td>301</td>\n",
              "      <td>41</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17</th>\n",
              "      <td>o3</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>COTIERE AIN</td>\n",
              "      <td>128.350000</td>\n",
              "      <td>78</td>\n",
              "      <td>26</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>18</th>\n",
              "      <td>no2</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>COTIERE AIN</td>\n",
              "      <td>3.750000</td>\n",
              "      <td>3996</td>\n",
              "      <td>429</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>19</th>\n",
              "      <td>pm10</td>\n",
              "      <td>FR</td>\n",
              "      <td>Ain</td>\n",
              "      <td>COTIERE AIN</td>\n",
              "      <td>21.280000</td>\n",
              "      <td>2501</td>\n",
              "      <td>162</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>20</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>FRA</td>\n",
              "      <td>MMFRA1001</td>\n",
              "      <td>8.000000</td>\n",
              "      <td>2476</td>\n",
              "      <td>372</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>21</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM 1</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>3343</td>\n",
              "      <td>772</td>\n",
              "      <td>6</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>22</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Coso</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>1490</td>\n",
              "      <td>62</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>23</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ June</td>\n",
              "      <td>-2.000000</td>\n",
              "      <td>3858</td>\n",
              "      <td>1009</td>\n",
              "      <td>8</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>24</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Alpin</td>\n",
              "      <td>14.000000</td>\n",
              "      <td>1854</td>\n",
              "      <td>147</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Bisho</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>3657</td>\n",
              "      <td>915</td>\n",
              "      <td>7</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>26</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Bridg</td>\n",
              "      <td>4.000000</td>\n",
              "      <td>3137</td>\n",
              "      <td>693</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>27</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Crowl</td>\n",
              "      <td>12.000000</td>\n",
              "      <td>2025</td>\n",
              "      <td>194</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>28</th>\n",
              "      <td>pm25</td>\n",
              "      <td>US</td>\n",
              "      <td>GBU</td>\n",
              "      <td>GBUAPCD EBAM @ Lee V</td>\n",
              "      <td>5.000000</td>\n",
              "      <td>2964</td>\n",
              "      <td>605</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>29</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>KAY</td>\n",
              "      <td>Ponca City</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>3250</td>\n",
              "      <td>116</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25170</th>\n",
              "      <td>no2</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>3.804000</td>\n",
              "      <td>3993</td>\n",
              "      <td>7</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25171</th>\n",
              "      <td>so2</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>3.573000</td>\n",
              "      <td>1876</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25172</th>\n",
              "      <td>pm25</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>12.185000</td>\n",
              "      <td>2022</td>\n",
              "      <td>3</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25173</th>\n",
              "      <td>o3</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...</td>\n",
              "      <td>57.693000</td>\n",
              "      <td>1703</td>\n",
              "      <td>5</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25174</th>\n",
              "      <td>o3</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...</td>\n",
              "      <td>59.200000</td>\n",
              "      <td>1616</td>\n",
              "      <td>4</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25175</th>\n",
              "      <td>no2</td>\n",
              "      <td>HR</td>\n",
              "      <td>Državna mreža za trajno praćenje kvalitete zra...</td>\n",
              "      <td>ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...</td>\n",
              "      <td>0.900000</td>\n",
              "      <td>4238</td>\n",
              "      <td>10</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25176</th>\n",
              "      <td>pm10</td>\n",
              "      <td>HU</td>\n",
              "      <td>Hungarian Regional Background Air Pollution  M...</td>\n",
              "      <td>K-puszta</td>\n",
              "      <td>32.600000</td>\n",
              "      <td>1751</td>\n",
              "      <td>8</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25177</th>\n",
              "      <td>no2</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Rosia Road</td>\n",
              "      <td>26.800000</td>\n",
              "      <td>1675</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25178</th>\n",
              "      <td>so2</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Rosia Road</td>\n",
              "      <td>5.300000</td>\n",
              "      <td>1368</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25179</th>\n",
              "      <td>co</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Rosia Road</td>\n",
              "      <td>350.000000</td>\n",
              "      <td>1782</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25180</th>\n",
              "      <td>no2</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Bleak House</td>\n",
              "      <td>24.900000</td>\n",
              "      <td>1769</td>\n",
              "      <td>3</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25181</th>\n",
              "      <td>o3</td>\n",
              "      <td>GI</td>\n",
              "      <td>UK Air Quality e-Reporting monitoring network ...</td>\n",
              "      <td>Bleak House</td>\n",
              "      <td>55.900000</td>\n",
              "      <td>1777</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25182</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Laois Emo Court</td>\n",
              "      <td>35.150000</td>\n",
              "      <td>2415</td>\n",
              "      <td>9</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25183</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Laois Emo Court</td>\n",
              "      <td>3.438000</td>\n",
              "      <td>4014</td>\n",
              "      <td>10</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25184</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Clare Ennis Simms Lane</td>\n",
              "      <td>1.862000</td>\n",
              "      <td>2414</td>\n",
              "      <td>4</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25185</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Kilkenny Seville Lodge</td>\n",
              "      <td>0.191000</td>\n",
              "      <td>4257</td>\n",
              "      <td>12</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25186</th>\n",
              "      <td>co</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Coleraine Street</td>\n",
              "      <td>0.345422</td>\n",
              "      <td>2397</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25187</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Coleraine Street</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>3250</td>\n",
              "      <td>7</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25188</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Coleraine Street</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>4862</td>\n",
              "      <td>13</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25189</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Winetavern Street</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>3250</td>\n",
              "      <td>7</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25190</th>\n",
              "      <td>co</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Winetavern Street</td>\n",
              "      <td>0.198059</td>\n",
              "      <td>2548</td>\n",
              "      <td>2</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25191</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Monaghan Kilkitt Waterworks</td>\n",
              "      <td>2.726500</td>\n",
              "      <td>2163</td>\n",
              "      <td>3</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25192</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Monaghan Kilkitt Waterworks</td>\n",
              "      <td>1.528000</td>\n",
              "      <td>4194</td>\n",
              "      <td>11</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25193</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Mayo Castlebar John Moore Road</td>\n",
              "      <td>37.950000</td>\n",
              "      <td>2362</td>\n",
              "      <td>8</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25194</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Clonskeagh Road Richview</td>\n",
              "      <td>42.784000</td>\n",
              "      <td>2215</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25195</th>\n",
              "      <td>pm25</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>0.377067</td>\n",
              "      <td>3740</td>\n",
              "      <td>5</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25196</th>\n",
              "      <td>no2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>9.836500</td>\n",
              "      <td>3194</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25197</th>\n",
              "      <td>o3</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>18.050000</td>\n",
              "      <td>2771</td>\n",
              "      <td>11</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25198</th>\n",
              "      <td>pm10</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>2.238530</td>\n",
              "      <td>4276</td>\n",
              "      <td>10</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25199</th>\n",
              "      <td>so2</td>\n",
              "      <td>IE</td>\n",
              "      <td>Ireland Air Quality e-Reporting monitoring net...</td>\n",
              "      <td>Dublin Rathmines Wynnefield Road</td>\n",
              "      <td>1.662500</td>\n",
              "      <td>2433</td>\n",
              "      <td>5</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>25200 rows × 8 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "      pollutant country                                               city  \\\n",
              "0          pm25      US                                                007   \n",
              "1          pm25      US                                                007   \n",
              "2          pm25      US                                                007   \n",
              "3          pm25      US                                                037   \n",
              "4          pm25      US                                                039   \n",
              "5          pm25      US                                                047   \n",
              "6          pm25      US                                                051   \n",
              "7          pm25      US                                                051   \n",
              "8          pm25      US                                                051   \n",
              "9            co      US                                                ADA   \n",
              "10           bc      US                                                ADA   \n",
              "11          no2      US                                                ADA   \n",
              "12         pm25      US                                                ADA   \n",
              "13         pm10      US                                                ADA   \n",
              "14           o3      FR                                                Ain   \n",
              "15         pm10      FR                                                Ain   \n",
              "16          no2      FR                                                Ain   \n",
              "17           o3      FR                                                Ain   \n",
              "18          no2      FR                                                Ain   \n",
              "19         pm10      FR                                                Ain   \n",
              "20         pm25      US                                                FRA   \n",
              "21         pm25      US                                                GBU   \n",
              "22         pm25      US                                                GBU   \n",
              "23         pm25      US                                                GBU   \n",
              "24         pm25      US                                                GBU   \n",
              "25         pm25      US                                                GBU   \n",
              "26         pm25      US                                                GBU   \n",
              "27         pm25      US                                                GBU   \n",
              "28         pm25      US                                                GBU   \n",
              "29          so2      US                                                KAY   \n",
              "...         ...     ...                                                ...   \n",
              "25170       no2      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25171       so2      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25172      pm25      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25173        o3      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25174        o3      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25175       no2      HR  Državna mreža za trajno praćenje kvalitete zra...   \n",
              "25176      pm10      HU  Hungarian Regional Background Air Pollution  M...   \n",
              "25177       no2      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25178       so2      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25179        co      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25180       no2      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25181        o3      GI  UK Air Quality e-Reporting monitoring network ...   \n",
              "25182        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25183       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25184       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25185       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25186        co      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25187       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25188       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25189       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25190        co      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25191       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25192       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25193        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25194        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25195      pm25      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25196       no2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25197        o3      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25198      pm10      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "25199       so2      IE  Ireland Air Quality e-Reporting monitoring net...   \n",
              "\n",
              "                                                location       value  \\\n",
              "0                                           Plain_Mobile    0.000000   \n",
              "1                                        Cle Elum_Mobile    0.000000   \n",
              "2                                     Leavenworth_Mobile   10.000000   \n",
              "3                                        Mobile_Cle Elum   62.000000   \n",
              "4                                     Mobile_WhiteSalmon   58.000000   \n",
              "5                                        Brewster_Mobile    7.000000   \n",
              "6                                         Mobile_Newport   29.000000   \n",
              "7                                         Newport_Mobile   -2.000000   \n",
              "8                                    Mobile_Newport_2017   26.000000   \n",
              "9                                              Near Road    0.290000   \n",
              "10                                             Near Road    0.600000   \n",
              "11                                             Near Road    0.008000   \n",
              "12                                             Near Road   12.000000   \n",
              "13                                             Near Road   46.000000   \n",
              "14                                               FR33305  136.000000   \n",
              "15                                               FR33305   34.830000   \n",
              "16                                               FR33305   66.800000   \n",
              "17                                           COTIERE AIN  128.350000   \n",
              "18                                           COTIERE AIN    3.750000   \n",
              "19                                           COTIERE AIN   21.280000   \n",
              "20                                             MMFRA1001    8.000000   \n",
              "21                                        GBUAPCD EBAM 1    3.000000   \n",
              "22                                   GBUAPCD EBAM @ Coso   20.000000   \n",
              "23                                   GBUAPCD EBAM @ June   -2.000000   \n",
              "24                                  GBUAPCD EBAM @ Alpin   14.000000   \n",
              "25                                  GBUAPCD EBAM @ Bisho    1.000000   \n",
              "26                                  GBUAPCD EBAM @ Bridg    4.000000   \n",
              "27                                  GBUAPCD EBAM @ Crowl   12.000000   \n",
              "28                                  GBUAPCD EBAM @ Lee V    5.000000   \n",
              "29                                            Ponca City    0.000000   \n",
              "...                                                  ...         ...   \n",
              "25170  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...    3.804000   \n",
              "25171  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...    3.573000   \n",
              "25172  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...   12.185000   \n",
              "25173  SLAVONSKI BROD-1 - RH0109 - HR0010A; Državna m...   57.693000   \n",
              "25174  ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...   59.200000   \n",
              "25175  ŽARKOVICA (Dubrovnik) - RH0120 - HR0020A; Drža...    0.900000   \n",
              "25176                                           K-puszta   32.600000   \n",
              "25177                                         Rosia Road   26.800000   \n",
              "25178                                         Rosia Road    5.300000   \n",
              "25179                                         Rosia Road  350.000000   \n",
              "25180                                        Bleak House   24.900000   \n",
              "25181                                        Bleak House   55.900000   \n",
              "25182                                    Laois Emo Court   35.150000   \n",
              "25183                                    Laois Emo Court    3.438000   \n",
              "25184                             Clare Ennis Simms Lane    1.862000   \n",
              "25185                             Kilkenny Seville Lodge    0.191000   \n",
              "25186                            Dublin Coleraine Street    0.345422   \n",
              "25187                            Dublin Coleraine Street    0.000000   \n",
              "25188                            Dublin Coleraine Street    0.000000   \n",
              "25189                           Dublin Winetavern Street    0.000000   \n",
              "25190                           Dublin Winetavern Street    0.198059   \n",
              "25191                        Monaghan Kilkitt Waterworks    2.726500   \n",
              "25192                        Monaghan Kilkitt Waterworks    1.528000   \n",
              "25193                     Mayo Castlebar John Moore Road   37.950000   \n",
              "25194                    Dublin Clonskeagh Road Richview   42.784000   \n",
              "25195                   Dublin Rathmines Wynnefield Road    0.377067   \n",
              "25196                   Dublin Rathmines Wynnefield Road    9.836500   \n",
              "25197                   Dublin Rathmines Wynnefield Road   18.050000   \n",
              "25198                   Dublin Rathmines Wynnefield Road    2.238530   \n",
              "25199                   Dublin Rathmines Wynnefield Road    1.662500   \n",
              "\n",
              "       world_rank  country_rank  city_rank  \n",
              "0            3757           964          2  \n",
              "1            3757           964          2  \n",
              "2            2222           253          1  \n",
              "3             523             4          1  \n",
              "4             556             5          1  \n",
              "5            2631           435          1  \n",
              "6            1079            35          1  \n",
              "7            3858          1009          3  \n",
              "8            1191            40          2  \n",
              "9            2453            85          1  \n",
              "10             49             6          1  \n",
              "11           4541           121          1  \n",
              "12           2025           194          1  \n",
              "13           1213            13          1  \n",
              "14             46            11          1  \n",
              "15           1646            56          1  \n",
              "16            301            41          1  \n",
              "17             78            26          2  \n",
              "18           3996           429          2  \n",
              "19           2501           162          2  \n",
              "20           2476           372          1  \n",
              "21           3343           772          6  \n",
              "22           1490            62          1  \n",
              "23           3858          1009          8  \n",
              "24           1854           147          2  \n",
              "25           3657           915          7  \n",
              "26           3137           693          5  \n",
              "27           2025           194          3  \n",
              "28           2964           605          4  \n",
              "29           3250           116          1  \n",
              "...           ...           ...        ...  \n",
              "25170        3993             7          4  \n",
              "25171        1876             1          1  \n",
              "25172        2022             3          1  \n",
              "25173        1703             5          4  \n",
              "25174        1616             4          3  \n",
              "25175        4238            10          5  \n",
              "25176        1751             8          1  \n",
              "25177        1675             2          1  \n",
              "25178        1368             1          1  \n",
              "25179        1782             1          1  \n",
              "25180        1769             3          2  \n",
              "25181        1777             1          1  \n",
              "25182        2415             9          3  \n",
              "25183        4014            10          2  \n",
              "25184        2414             4          2  \n",
              "25185        4257            12          4  \n",
              "25186        2397             1          1  \n",
              "25187        3250             7          4  \n",
              "25188        4862            13          5  \n",
              "25189        3250             7          4  \n",
              "25190        2548             2          2  \n",
              "25191        2163             3          1  \n",
              "25192        4194            11          3  \n",
              "25193        2362             8          2  \n",
              "25194        2215             7          1  \n",
              "25195        3740             5          1  \n",
              "25196        3194             7          1  \n",
              "25197        2771            11          4  \n",
              "25198        4276            10          1  \n",
              "25199        2433             5          3  \n",
              "\n",
              "[25200 rows x 8 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        }
      ]
    },
    {
      "metadata": {
        "id": "2UT0Xu0Vr77C",
        "colab_type": "code",
        "outputId": "27a0da96-57db-4147-a011-be618d4b9d0e",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 35
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Pollutants in dataset\n",
        "print(', '.join(p['pollutant'].unique()))"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "pm25, co, bc, no2, pm10, o3, so2\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "0IRDaNmZpt6K",
        "colab_type": "code",
        "cellView": "both",
        "outputId": "8520a341-fbf7-4209-e87c-b986b9240972",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Top three locations by Nitrogen Dioxide (NO2)\n",
        "(p.query('pollutant == \"no2\"')\n",
        "  .nsmallest(3, 'world_rank')\n",
        "  [['country', 'city', 'location', 'value', 'world_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>19239</th>\n",
              "      <td>XK</td>\n",
              "      <td>Hani i Elezit</td>\n",
              "      <td>Hani i Elezit</td>\n",
              "      <td>397.926</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6078</th>\n",
              "      <td>IN</td>\n",
              "      <td>Solapur</td>\n",
              "      <td>Solapur, Solapur - MPCB</td>\n",
              "      <td>268.360</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16204</th>\n",
              "      <td>IN</td>\n",
              "      <td>Kalaburagi</td>\n",
              "      <td>Lal Bahadur Shastri Nagar, Kalaburagi - KSPCB</td>\n",
              "      <td>229.210</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      country           city                                       location  \\\n",
              "19239      XK  Hani i Elezit                                  Hani i Elezit   \n",
              "6078       IN        Solapur                        Solapur, Solapur - MPCB   \n",
              "16204      IN     Kalaburagi  Lal Bahadur Shastri Nagar, Kalaburagi - KSPCB   \n",
              "\n",
              "         value  world_rank  \n",
              "19239  397.926           1  \n",
              "6078   268.360           2  \n",
              "16204  229.210           3  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 19
        }
      ]
    },
    {
      "metadata": {
        "id": "9NMN-eBAskKJ",
        "colab_type": "code",
        "outputId": "89987f07-9121-4556-e5ea-207d2cbc92da",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Top three locations in Great Britain by Nitrogen Dioxide (NO2)\n",
        "(p.query('pollutant == \"no2\" & country == \"GB\"')\n",
        "  .nsmallest(3, 'country_rank')\n",
        "  [['city', 'location', 'value', 'world_rank', 'country_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "      <th>country_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>4585</th>\n",
              "      <td>Belfast</td>\n",
              "      <td>Belfast Stockman's Lane</td>\n",
              "      <td>63.0</td>\n",
              "      <td>359</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6707</th>\n",
              "      <td>Chepstow</td>\n",
              "      <td>Chepstow A48</td>\n",
              "      <td>60.0</td>\n",
              "      <td>418</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6442</th>\n",
              "      <td>Aberdeen</td>\n",
              "      <td>Aberdeen Union Street Roadside</td>\n",
              "      <td>54.0</td>\n",
              "      <td>544</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "          city                        location  value  world_rank  \\\n",
              "4585   Belfast         Belfast Stockman's Lane   63.0         359   \n",
              "6707  Chepstow                    Chepstow A48   60.0         418   \n",
              "6442  Aberdeen  Aberdeen Union Street Roadside   54.0         544   \n",
              "\n",
              "      country_rank  \n",
              "4585             1  \n",
              "6707             2  \n",
              "6442             3  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 22
        }
      ]
    },
    {
      "metadata": {
        "id": "QDgN8aDWrort",
        "colab_type": "code",
        "outputId": "d494aaf9-c65a-45da-d2a8-1a9a069e6e2b",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Top three locations by Sulphur Dioxide (SO2)\n",
        "(p.query('pollutant == \"so2\"')\n",
        "  .nsmallest(3, 'world_rank')\n",
        "  [['country', 'city', 'location', 'value', 'world_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>24629</th>\n",
              "      <td>MK</td>\n",
              "      <td>State Air Quality Monitoring Network</td>\n",
              "      <td>Karpos</td>\n",
              "      <td>2.050019e+15</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7092</th>\n",
              "      <td>CL</td>\n",
              "      <td>Hualpén</td>\n",
              "      <td>JUNJI</td>\n",
              "      <td>2.088350e+03</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3412</th>\n",
              "      <td>ES</td>\n",
              "      <td>Murcia</td>\n",
              "      <td>ES1633A</td>\n",
              "      <td>1.301000e+03</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      country                                  city location         value  \\\n",
              "24629      MK  State Air Quality Monitoring Network   Karpos  2.050019e+15   \n",
              "7092       CL                               Hualpén    JUNJI  2.088350e+03   \n",
              "3412       ES                                Murcia  ES1633A  1.301000e+03   \n",
              "\n",
              "       world_rank  \n",
              "24629           1  \n",
              "7092            2  \n",
              "3412            3  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 24
        }
      ]
    },
    {
      "metadata": {
        "id": "WNHx57DiufCl",
        "colab_type": "code",
        "outputId": "78fd04c0-7382-4a04-efe2-acfe0bad7cf0",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Top three locations in Great Britain by Sulphur Dioxide (SO2)\n",
        "(p.query('pollutant == \"so2\" & country == \"GB\"')\n",
        "  .nsmallest(3, 'country_rank')\n",
        "  [['city', 'location', 'value', 'world_rank', 'country_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "      <th>country_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>19339</th>\n",
              "      <td>Middlesbrough</td>\n",
              "      <td>Middlesbrough</td>\n",
              "      <td>19.0</td>\n",
              "      <td>323</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17408</th>\n",
              "      <td>Southampton</td>\n",
              "      <td>Southampton Centre</td>\n",
              "      <td>14.0</td>\n",
              "      <td>497</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1188</th>\n",
              "      <td>Derry</td>\n",
              "      <td>Derry Rosemount</td>\n",
              "      <td>13.0</td>\n",
              "      <td>545</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                city            location  value  world_rank  country_rank\n",
              "19339  Middlesbrough       Middlesbrough   19.0         323             1\n",
              "17408    Southampton  Southampton Centre   14.0         497             2\n",
              "1188           Derry     Derry Rosemount   13.0         545             3"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 25
        }
      ]
    },
    {
      "metadata": {
        "colab_type": "code",
        "id": "4gNbyccWvIFR",
        "outputId": "aa74d56c-eb15-42ce-f65e-f5e8f986e7f7",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Top three locations by PM2.5\n",
        "(p.query('pollutant == \"pm25\"')\n",
        "  .nsmallest(3, 'world_rank')\n",
        "  [['country', 'city', 'location', 'value', 'world_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>9849</th>\n",
              "      <td>CN</td>\n",
              "      <td>义乌市</td>\n",
              "      <td>江东</td>\n",
              "      <td>690.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1695</th>\n",
              "      <td>IN</td>\n",
              "      <td>Patna</td>\n",
              "      <td>IGSC Planetarium Complex, Patna - BSPCB</td>\n",
              "      <td>674.0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9845</th>\n",
              "      <td>CN</td>\n",
              "      <td>义乌市</td>\n",
              "      <td>北苑</td>\n",
              "      <td>494.0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "     country   city                                 location  value  \\\n",
              "9849      CN    义乌市                                       江东  690.0   \n",
              "1695      IN  Patna  IGSC Planetarium Complex, Patna - BSPCB  674.0   \n",
              "9845      CN    义乌市                                       北苑  494.0   \n",
              "\n",
              "      world_rank  \n",
              "9849           1  \n",
              "1695           2  \n",
              "9845           3  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 26
        }
      ]
    },
    {
      "metadata": {
        "colab_type": "code",
        "id": "aFr052OMvIFp",
        "outputId": "d136ba42-6d47-4e43-f6c7-076d0a566cc6",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 142
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Top three locations in Great Britain by PM2.5\n",
        "(p.query('pollutant == \"pm25\" & country == \"GB\"')\n",
        "  .nsmallest(3, 'country_rank')\n",
        "  [['city', 'location', 'value', 'world_rank', 'country_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "      <th>country_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>17442</th>\n",
              "      <td>Storrington</td>\n",
              "      <td>Storrington Roadside</td>\n",
              "      <td>62.0</td>\n",
              "      <td>523</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>19611</th>\n",
              "      <td>West Midlands</td>\n",
              "      <td>Birmingham A4540 Roadside</td>\n",
              "      <td>28.0</td>\n",
              "      <td>1118</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8973</th>\n",
              "      <td>Newcastle</td>\n",
              "      <td>Newcastle Centre</td>\n",
              "      <td>17.0</td>\n",
              "      <td>1672</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                city                   location  value  world_rank  \\\n",
              "17442    Storrington       Storrington Roadside   62.0         523   \n",
              "19611  West Midlands  Birmingham A4540 Roadside   28.0        1118   \n",
              "8973       Newcastle           Newcastle Centre   17.0        1672   \n",
              "\n",
              "       country_rank  \n",
              "17442             1  \n",
              "19611             2  \n",
              "8973              3  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 27
        }
      ]
    },
    {
      "metadata": {
        "id": "U2wl_l8UwDVH",
        "colab_type": "code",
        "outputId": "e0d956e2-ccfa-43a6-f7e2-cd46e806825a",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 111
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Compare the worst locations (NO2) in Great Britain and Sweden\n",
        "(p.query('pollutant == \"no2\"')\n",
        "  .query('country_rank == 1')\n",
        "  .query('(country == \"GB\") | (country == \"SE\")')\n",
        "  [['country', 'city', 'location', 'value', 'world_rank', 'country_rank']])"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "      <th>country_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>4585</th>\n",
              "      <td>GB</td>\n",
              "      <td>Belfast</td>\n",
              "      <td>Belfast Stockman's Lane</td>\n",
              "      <td>63.0000</td>\n",
              "      <td>359</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9241</th>\n",
              "      <td>SE</td>\n",
              "      <td>Stockholm</td>\n",
              "      <td>Sveavägen</td>\n",
              "      <td>42.6175</td>\n",
              "      <td>917</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "     country       city                 location    value  world_rank  \\\n",
              "4585      GB    Belfast  Belfast Stockman's Lane  63.0000         359   \n",
              "9241      SE  Stockholm                Sveavägen  42.6175         917   \n",
              "\n",
              "      country_rank  \n",
              "4585             1  \n",
              "9241             1  "
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 31
        }
      ]
    },
    {
      "metadata": {
        "id": "F8kCr7r4ulXZ",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "Note that we can also do a lot of the work using BigQuery. But since the dataset is fairly small, we don't need to do that. Example on how to compute the rank in BigQuery:"
      ]
    },
    {
      "metadata": {
        "id": "ubfCRGbmg34B",
        "colab_type": "code",
        "outputId": "931a6671-2d92-4ec2-e704-362177d0861f",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1969
        }
      },
      "cell_type": "code",
      "source": [
        "#@title Rank cities within each country for each pollutant\n",
        "%%bigquery --project silicon-perigee-208521\n",
        "#standardSQL\n",
        "select\n",
        "  pollutant,\n",
        "  country,\n",
        "  city,\n",
        "  location,\n",
        "  value,\n",
        "  rank() over (\n",
        "    partition by\n",
        "      pollutant,\n",
        "      country\n",
        "    order by value desc) as world_rank\n",
        "from `bigquery-public-data.openaq.global_air_quality`;"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>pollutant</th>\n",
              "      <th>country</th>\n",
              "      <th>city</th>\n",
              "      <th>location</th>\n",
              "      <th>value</th>\n",
              "      <th>world_rank</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Kielce</td>\n",
              "      <td>Kielce, ul. Targowa</td>\n",
              "      <td>5.73000</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Rybnik</td>\n",
              "      <td>Rybnik, ul. Borki 37 d</td>\n",
              "      <td>5.27091</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Nowy Targ</td>\n",
              "      <td>Nowy Targ, Plac Słowackiego</td>\n",
              "      <td>4.70168</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Czerwionka-Leszczyny</td>\n",
              "      <td>Czerwionka-Leszczyny, ul. Kopalniana</td>\n",
              "      <td>4.24980</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Zamość</td>\n",
              "      <td>Zamość ul. Hrubieszowska 69A</td>\n",
              "      <td>2.98000</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Zgorzelec</td>\n",
              "      <td>Zgorzelec - Bohaterów Getta</td>\n",
              "      <td>2.79247</td>\n",
              "      <td>6</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Mielec</td>\n",
              "      <td>Mielec-Biernackiego-WIOS</td>\n",
              "      <td>2.44703</td>\n",
              "      <td>7</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Łódź</td>\n",
              "      <td>Łódź-Gdańska 16</td>\n",
              "      <td>2.40000</td>\n",
              "      <td>8</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Radom</td>\n",
              "      <td>Radom-Tochtermana</td>\n",
              "      <td>2.13700</td>\n",
              "      <td>9</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Starachowice</td>\n",
              "      <td>Starachowice, ul. Złota</td>\n",
              "      <td>2.05000</td>\n",
              "      <td>10</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Nałęczów</td>\n",
              "      <td>NałęczówMOB</td>\n",
              "      <td>1.83000</td>\n",
              "      <td>11</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>11</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Elbląg</td>\n",
              "      <td>WIOŚ Elbląg ul. Bażyńskiego</td>\n",
              "      <td>1.71441</td>\n",
              "      <td>12</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>12</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Ciechocinek</td>\n",
              "      <td>Ciechocinek</td>\n",
              "      <td>1.67000</td>\n",
              "      <td>13</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>13</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Olsztyn</td>\n",
              "      <td>WIOŚ Olsztyn ul. Puszkina</td>\n",
              "      <td>1.60116</td>\n",
              "      <td>14</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>14</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Lublin</td>\n",
              "      <td>Lublin ul. Obywatelska</td>\n",
              "      <td>1.58000</td>\n",
              "      <td>15</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Poznań</td>\n",
              "      <td>Poznan-Dabrowskiego</td>\n",
              "      <td>1.54602</td>\n",
              "      <td>16</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Żary</td>\n",
              "      <td>Żary, ul. Szymanowskiego 8</td>\n",
              "      <td>1.52208</td>\n",
              "      <td>17</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>17</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Dąbrowa Górnicza</td>\n",
              "      <td>Dąbrowa Górnicza, ul. Tysiąclecia 25a</td>\n",
              "      <td>1.47895</td>\n",
              "      <td>18</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>18</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Zakopane</td>\n",
              "      <td>Zakopane, ul. Sienkiewicza</td>\n",
              "      <td>1.40855</td>\n",
              "      <td>19</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>19</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Bydgoszcz</td>\n",
              "      <td>Bydgoszcz Plac Poznański</td>\n",
              "      <td>1.40000</td>\n",
              "      <td>20</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>20</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Złoty Potok</td>\n",
              "      <td>Złoty Potok, Leśniczówka</td>\n",
              "      <td>1.30888</td>\n",
              "      <td>21</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>21</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Rzeszów</td>\n",
              "      <td>Rzeszów-Piłsudskiego</td>\n",
              "      <td>1.28196</td>\n",
              "      <td>22</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>22</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Legnica</td>\n",
              "      <td>Legnica - Rzeczypospolitej</td>\n",
              "      <td>1.24425</td>\n",
              "      <td>23</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>23</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Jelenia Góra</td>\n",
              "      <td>Jelenia Góra - Ogińskiego</td>\n",
              "      <td>1.22316</td>\n",
              "      <td>24</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>24</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Rzeszów</td>\n",
              "      <td>Rzeszów-Nowe Miasto</td>\n",
              "      <td>1.20132</td>\n",
              "      <td>25</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Kędzierzyn-Koźle</td>\n",
              "      <td>K-Koźle automat 1</td>\n",
              "      <td>1.17559</td>\n",
              "      <td>26</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>26</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Zdzieszowice</td>\n",
              "      <td>Zdzieszowice automat 2</td>\n",
              "      <td>1.07319</td>\n",
              "      <td>27</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>27</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Kraków</td>\n",
              "      <td>Kraków, ul. Bujaka</td>\n",
              "      <td>1.04718</td>\n",
              "      <td>28</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>28</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Opole</td>\n",
              "      <td>Opole manualna 4</td>\n",
              "      <td>0.95039</td>\n",
              "      <td>29</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>29</th>\n",
              "      <td>bc</td>\n",
              "      <td>PL</td>\n",
              "      <td>Gdańsk</td>\n",
              "      <td>AM2 Gdańsk Stogi</td>\n",
              "      <td>0.95039</td>\n",
              "      <td>29</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25170</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Honolulu</td>\n",
              "      <td>Kapolei</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25171</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Honolulu</td>\n",
              "      <td>Honolulu</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25172</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Lakeland</td>\n",
              "      <td>Sikes Elementary Sch</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25173</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Muskogee</td>\n",
              "      <td>Muskogee</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25174</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Muskogee</td>\n",
              "      <td>Ft. Gibson</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25175</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Richmond</td>\n",
              "      <td>SHIRLEY PLANTATION</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25176</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Sheridan</td>\n",
              "      <td>Sheridan Mobile</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25177</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>ARCHULETA</td>\n",
              "      <td>7004</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25178</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>AROOSTOOK</td>\n",
              "      <td>MICMAC</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25179</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Asheville</td>\n",
              "      <td>Skyland DRR</td>\n",
              "      <td>0.00000</td>\n",
              "      <td>116</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25180</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Houston</td>\n",
              "      <td>Clinton C403/C304/AH113</td>\n",
              "      <td>-0.00010</td>\n",
              "      <td>282</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25181</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Houston-Sugar Land-Baytown</td>\n",
              "      <td>Houston Croquet C409</td>\n",
              "      <td>-0.00010</td>\n",
              "      <td>282</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25182</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Houston</td>\n",
              "      <td>Baytown Garth C1017</td>\n",
              "      <td>-0.00010</td>\n",
              "      <td>282</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25183</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Houston</td>\n",
              "      <td>Park Place C416</td>\n",
              "      <td>-0.00020</td>\n",
              "      <td>285</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25184</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Houston</td>\n",
              "      <td>Houston Monroe C406</td>\n",
              "      <td>-0.00040</td>\n",
              "      <td>286</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25185</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Kingsport-Bristol-Bristol</td>\n",
              "      <td>Andrew Johnson Elem.</td>\n",
              "      <td>-0.00100</td>\n",
              "      <td>287</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25186</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Cheyenne</td>\n",
              "      <td>Cheyenne Mobile</td>\n",
              "      <td>-0.00100</td>\n",
              "      <td>287</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25187</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Evansville</td>\n",
              "      <td>Evansville-Buena Vis</td>\n",
              "      <td>-0.00100</td>\n",
              "      <td>287</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25188</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>Birmingham-Hoover</td>\n",
              "      <td>LNA</td>\n",
              "      <td>-0.00100</td>\n",
              "      <td>287</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25189</th>\n",
              "      <td>so2</td>\n",
              "      <td>US</td>\n",
              "      <td>LEE</td>\n",
              "      <td>Blackstone</td>\n",
              "      <td>-0.00100</td>\n",
              "      <td>287</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25190</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Prishtine</td>\n",
              "      <td>Prishtine, Rilindje</td>\n",
              "      <td>23.35600</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25191</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Gjilan</td>\n",
              "      <td>Gjilan</td>\n",
              "      <td>16.40000</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25192</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Prizren</td>\n",
              "      <td>Prizren</td>\n",
              "      <td>6.46100</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25193</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Drenas</td>\n",
              "      <td>Drenas</td>\n",
              "      <td>6.36600</td>\n",
              "      <td>4</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25194</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Mitrovice</td>\n",
              "      <td>Mitrovice</td>\n",
              "      <td>5.89200</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25195</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Prishtine</td>\n",
              "      <td>Prishtine - IHMK</td>\n",
              "      <td>1.79600</td>\n",
              "      <td>6</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25196</th>\n",
              "      <td>so2</td>\n",
              "      <td>XK</td>\n",
              "      <td>Hani i Elezit</td>\n",
              "      <td>Hani i Elezit</td>\n",
              "      <td>1.57400</td>\n",
              "      <td>7</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25197</th>\n",
              "      <td>so2</td>\n",
              "      <td>ZA</td>\n",
              "      <td>Richards Bay</td>\n",
              "      <td>Brackenham</td>\n",
              "      <td>0.00180</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25198</th>\n",
              "      <td>so2</td>\n",
              "      <td>ZA</td>\n",
              "      <td>Richards Bay</td>\n",
              "      <td>Arboretum</td>\n",
              "      <td>-0.00090</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25199</th>\n",
              "      <td>so2</td>\n",
              "      <td>ZA</td>\n",
              "      <td>Richards Bay</td>\n",
              "      <td>CBD</td>\n",
              "      <td>-0.00190</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>25200 rows × 6 columns</p>\n",
              "</div>"
            ],
            "text/plain": [
              "      pollutant country                        city  \\\n",
              "0            bc      PL                      Kielce   \n",
              "1            bc      PL                      Rybnik   \n",
              "2            bc      PL                   Nowy Targ   \n",
              "3            bc      PL        Czerwionka-Leszczyny   \n",
              "4            bc      PL                      Zamość   \n",
              "5            bc      PL                   Zgorzelec   \n",
              "6            bc      PL                      Mielec   \n",
              "7            bc      PL                        Łódź   \n",
              "8            bc      PL                       Radom   \n",
              "9            bc      PL                Starachowice   \n",
              "10           bc      PL                    Nałęczów   \n",
              "11           bc      PL                      Elbląg   \n",
              "12           bc      PL                 Ciechocinek   \n",
              "13           bc      PL                     Olsztyn   \n",
              "14           bc      PL                      Lublin   \n",
              "15           bc      PL                      Poznań   \n",
              "16           bc      PL                        Żary   \n",
              "17           bc      PL            Dąbrowa Górnicza   \n",
              "18           bc      PL                    Zakopane   \n",
              "19           bc      PL                   Bydgoszcz   \n",
              "20           bc      PL                 Złoty Potok   \n",
              "21           bc      PL                     Rzeszów   \n",
              "22           bc      PL                     Legnica   \n",
              "23           bc      PL                Jelenia Góra   \n",
              "24           bc      PL                     Rzeszów   \n",
              "25           bc      PL            Kędzierzyn-Koźle   \n",
              "26           bc      PL                Zdzieszowice   \n",
              "27           bc      PL                      Kraków   \n",
              "28           bc      PL                       Opole   \n",
              "29           bc      PL                      Gdańsk   \n",
              "...         ...     ...                         ...   \n",
              "25170       so2      US                    Honolulu   \n",
              "25171       so2      US                    Honolulu   \n",
              "25172       so2      US                    Lakeland   \n",
              "25173       so2      US                    Muskogee   \n",
              "25174       so2      US                    Muskogee   \n",
              "25175       so2      US                    Richmond   \n",
              "25176       so2      US                    Sheridan   \n",
              "25177       so2      US                   ARCHULETA   \n",
              "25178       so2      US                   AROOSTOOK   \n",
              "25179       so2      US                   Asheville   \n",
              "25180       so2      US                     Houston   \n",
              "25181       so2      US  Houston-Sugar Land-Baytown   \n",
              "25182       so2      US                     Houston   \n",
              "25183       so2      US                     Houston   \n",
              "25184       so2      US                     Houston   \n",
              "25185       so2      US   Kingsport-Bristol-Bristol   \n",
              "25186       so2      US                    Cheyenne   \n",
              "25187       so2      US                  Evansville   \n",
              "25188       so2      US           Birmingham-Hoover   \n",
              "25189       so2      US                         LEE   \n",
              "25190       so2      XK                   Prishtine   \n",
              "25191       so2      XK                      Gjilan   \n",
              "25192       so2      XK                     Prizren   \n",
              "25193       so2      XK                      Drenas   \n",
              "25194       so2      XK                   Mitrovice   \n",
              "25195       so2      XK                   Prishtine   \n",
              "25196       so2      XK               Hani i Elezit   \n",
              "25197       so2      ZA                Richards Bay   \n",
              "25198       so2      ZA                Richards Bay   \n",
              "25199       so2      ZA                Richards Bay   \n",
              "\n",
              "                                    location     value  world_rank  \n",
              "0                        Kielce, ul. Targowa   5.73000           1  \n",
              "1                     Rybnik, ul. Borki 37 d   5.27091           2  \n",
              "2                Nowy Targ, Plac Słowackiego   4.70168           3  \n",
              "3       Czerwionka-Leszczyny, ul. Kopalniana   4.24980           4  \n",
              "4               Zamość ul. Hrubieszowska 69A   2.98000           5  \n",
              "5                Zgorzelec - Bohaterów Getta   2.79247           6  \n",
              "6                   Mielec-Biernackiego-WIOS   2.44703           7  \n",
              "7                            Łódź-Gdańska 16   2.40000           8  \n",
              "8                          Radom-Tochtermana   2.13700           9  \n",
              "9                    Starachowice, ul. Złota   2.05000          10  \n",
              "10                               NałęczówMOB   1.83000          11  \n",
              "11               WIOŚ Elbląg ul. Bażyńskiego   1.71441          12  \n",
              "12                               Ciechocinek   1.67000          13  \n",
              "13                 WIOŚ Olsztyn ul. Puszkina   1.60116          14  \n",
              "14                    Lublin ul. Obywatelska   1.58000          15  \n",
              "15                       Poznan-Dabrowskiego   1.54602          16  \n",
              "16                Żary, ul. Szymanowskiego 8   1.52208          17  \n",
              "17     Dąbrowa Górnicza, ul. Tysiąclecia 25a   1.47895          18  \n",
              "18                Zakopane, ul. Sienkiewicza   1.40855          19  \n",
              "19                  Bydgoszcz Plac Poznański   1.40000          20  \n",
              "20                  Złoty Potok, Leśniczówka   1.30888          21  \n",
              "21                      Rzeszów-Piłsudskiego   1.28196          22  \n",
              "22                Legnica - Rzeczypospolitej   1.24425          23  \n",
              "23                 Jelenia Góra - Ogińskiego   1.22316          24  \n",
              "24                       Rzeszów-Nowe Miasto   1.20132          25  \n",
              "25                         K-Koźle automat 1   1.17559          26  \n",
              "26                    Zdzieszowice automat 2   1.07319          27  \n",
              "27                        Kraków, ul. Bujaka   1.04718          28  \n",
              "28                          Opole manualna 4   0.95039          29  \n",
              "29                          AM2 Gdańsk Stogi   0.95039          29  \n",
              "...                                      ...       ...         ...  \n",
              "25170                                Kapolei   0.00000         116  \n",
              "25171                               Honolulu   0.00000         116  \n",
              "25172                   Sikes Elementary Sch   0.00000         116  \n",
              "25173                               Muskogee   0.00000         116  \n",
              "25174                             Ft. Gibson   0.00000         116  \n",
              "25175                     SHIRLEY PLANTATION   0.00000         116  \n",
              "25176                        Sheridan Mobile   0.00000         116  \n",
              "25177                                   7004   0.00000         116  \n",
              "25178                                 MICMAC   0.00000         116  \n",
              "25179                            Skyland DRR   0.00000         116  \n",
              "25180                Clinton C403/C304/AH113  -0.00010         282  \n",
              "25181                   Houston Croquet C409  -0.00010         282  \n",
              "25182                    Baytown Garth C1017  -0.00010         282  \n",
              "25183                        Park Place C416  -0.00020         285  \n",
              "25184                    Houston Monroe C406  -0.00040         286  \n",
              "25185                   Andrew Johnson Elem.  -0.00100         287  \n",
              "25186                        Cheyenne Mobile  -0.00100         287  \n",
              "25187                   Evansville-Buena Vis  -0.00100         287  \n",
              "25188                                    LNA  -0.00100         287  \n",
              "25189                             Blackstone  -0.00100         287  \n",
              "25190                    Prishtine, Rilindje  23.35600           1  \n",
              "25191                                 Gjilan  16.40000           2  \n",
              "25192                                Prizren   6.46100           3  \n",
              "25193                                 Drenas   6.36600           4  \n",
              "25194                              Mitrovice   5.89200           5  \n",
              "25195                       Prishtine - IHMK   1.79600           6  \n",
              "25196                          Hani i Elezit   1.57400           7  \n",
              "25197                             Brackenham   0.00180           1  \n",
              "25198                              Arboretum  -0.00090           2  \n",
              "25199                                    CBD  -0.00190           3  \n",
              "\n",
              "[25200 rows x 6 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 12
        }
      ]
    }
  ]
}