Skip to content

Instantly share code, notes, and snippets.

@maia-18
Created July 15, 2020 01:32
Show Gist options
  • Save maia-18/761932fb4d8d746d558d7c3a914d7505 to your computer and use it in GitHub Desktop.
Save maia-18/761932fb4d8d746d558d7c3a914d7505 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## RI GERDAU - LAB 2020.6 - GERDAU MAP ROLLING MILL - 08/07/20"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"# Datasets, pandas e folium\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"# Preparando os dados"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Importando modulos"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import numpy as np # para uso de computacao cientifica em Python\n",
"import pandas as pd "
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"# Folium"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting package metadata (current_repodata.json): done\n",
"Solving environment: done\n",
"\n",
"# All requested packages already installed.\n",
"\n",
"Folium OK!\n"
]
}
],
"source": [
"!conda install -c conda-forge folium=0.5.0 --yes\n",
"import folium\n",
"\n",
"print('Folium OK!')"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVMgPSBmYWxzZTsgTF9OT19UT1VDSCA9IGZhbHNlOyBMX0RJU0FCTEVfM0QgPSBmYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdnaXQuY29tL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9tYXN0ZXIvZm9saXVtL3RlbXBsYXRlcy9sZWFmbGV0LmF3ZXNvbWUucm90YXRlLmNzcyIvPgogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIAogICAgICAgICAgICA8c3R5bGU+ICNtYXBfZDg1NjFjN2JjNjk2NGJjZmI4NzhkMWJmYzRkMzU5Y2MgewogICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwLjAlOwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAo8L2hlYWQ+Cjxib2R5PiAgICAKICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xpdW0tbWFwIiBpZD0ibWFwX2Q4NTYxYzdiYzY5NjRiY2ZiODc4ZDFiZmM0ZDM1OWNjIiA+PC9kaXY+CiAgICAgICAgCjwvYm9keT4KPHNjcmlwdD4gICAgCiAgICAKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGJvdW5kcyA9IG51bGw7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgdmFyIG1hcF9kODU2MWM3YmM2OTY0YmNmYjg3OGQxYmZjNGQzNTljYyA9IEwubWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21hcF9kODU2MWM3YmM2OTY0YmNmYjg3OGQxYmZjNGQzNTljYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2VudGVyOiBbMCwwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvb206IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhCb3VuZHM6IGJvdW5kcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyczogW10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JsZENvcHlKdW1wOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyX2M1ODEwZDEyMzMyMjRkODA5YjI3ODcyYjE4ZDI3MTY0ID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAnaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLAogICAgICAgICAgICAgICAgewogICJhdHRyaWJ1dGlvbiI6IG51bGwsCiAgImRldGVjdFJldGluYSI6IGZhbHNlLAogICJtYXhab29tIjogMTgsCiAgIm1pblpvb20iOiAxLAogICJub1dyYXAiOiBmYWxzZSwKICAic3ViZG9tYWlucyI6ICJhYmMiCn0KICAgICAgICAgICAgICAgICkuYWRkVG8obWFwX2Q4NTYxYzdiYzY5NjRiY2ZiODc4ZDFiZmM0ZDM1OWNjKTsKICAgICAgICAKPC9zY3JpcHQ+ onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7fcdddf77f90>"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# mapa mundial\n",
"world_map = folium.Map()\n",
"world_map"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"# Vamos marcar as usinas no mapa"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Arquivo no dataframe!\n"
]
}
],
"source": [
"df_gg20 = pd.read_csv('ggmaproll.csv')\n",
"print('Arquivo no dataframe!')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"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>local</th>\n",
" <th>pais</th>\n",
" <th>tipo</th>\n",
" <th>on</th>\n",
" <th>lat</th>\n",
" <th>lng</th>\n",
" <th>2001</th>\n",
" <th>2002</th>\n",
" <th>2003</th>\n",
" <th>2004</th>\n",
" <th>...</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>2014</th>\n",
" <th>2015</th>\n",
" <th>2016</th>\n",
" <th>2017</th>\n",
" <th>2018</th>\n",
" <th>2019</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ACOMINAS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-20.54</td>\n",
" <td>-43.74</td>\n",
" <td>0</td>\n",
" <td>740</td>\n",
" <td>655</td>\n",
" <td>655</td>\n",
" <td>...</td>\n",
" <td>1070</td>\n",
" <td>1070</td>\n",
" <td>1070</td>\n",
" <td>2050</td>\n",
" <td>2026</td>\n",
" <td>2026</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ARACARIGUAMA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-23.44</td>\n",
" <td>-47.09</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>AGUAFUNDA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-23.63</td>\n",
" <td>-46.62</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>215</td>\n",
" <td>305</td>\n",
" <td>...</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>104</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>COSIGUA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-22.89</td>\n",
" <td>-43.75</td>\n",
" <td>1510</td>\n",
" <td>1510</td>\n",
" <td>1320</td>\n",
" <td>1320</td>\n",
" <td>...</td>\n",
" <td>1350</td>\n",
" <td>1350</td>\n",
" <td>1350</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>DIVINOPOLIS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-20.15</td>\n",
" <td>-44.88</td>\n",
" <td>456</td>\n",
" <td>456</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>...</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>518</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>RIOGRANDENSE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-29.81</td>\n",
" <td>-51.17</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>...</td>\n",
" <td>500</td>\n",
" <td>500</td>\n",
" <td>500</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>BARAO COCAIS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-19.94</td>\n",
" <td>-43.48</td>\n",
" <td>198</td>\n",
" <td>198</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>...</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ACONORTE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-8.07</td>\n",
" <td>-34.98</td>\n",
" <td>270</td>\n",
" <td>270</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>...</td>\n",
" <td>160</td>\n",
" <td>160</td>\n",
" <td>160</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>CEARENSE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-3.85</td>\n",
" <td>-38.61</td>\n",
" <td>120</td>\n",
" <td>120</td>\n",
" <td>110</td>\n",
" <td>110</td>\n",
" <td>...</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>GUAIRA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-25.56</td>\n",
" <td>-49.42</td>\n",
" <td>167</td>\n",
" <td>167</td>\n",
" <td>130</td>\n",
" <td>130</td>\n",
" <td>...</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>166</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>USIBA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-12.86</td>\n",
" <td>-38.42</td>\n",
" <td>400</td>\n",
" <td>500</td>\n",
" <td>430</td>\n",
" <td>430</td>\n",
" <td>...</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>397</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>PINDA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-22.90</td>\n",
" <td>-45.35</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>910</td>\n",
" <td>910</td>\n",
" <td>690</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>CHARQUEADAS</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-29.96</td>\n",
" <td>-51.62</td>\n",
" <td>380</td>\n",
" <td>380</td>\n",
" <td>390</td>\n",
" <td>390</td>\n",
" <td>...</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>615</td>\n",
" <td>615</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>MONROE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>41.89</td>\n",
" <td>-83.36</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>690</td>\n",
" <td>690</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>FORTH SMITH</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>35.31</td>\n",
" <td>-94.37</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>463</td>\n",
" <td>463</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>MOGI</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-23.52</td>\n",
" <td>-46.16</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>SOROCABA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-23.49</td>\n",
" <td>-47.44</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>20</td>\n",
" <td>23</td>\n",
" <td>23</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>JACKSONMI</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>42.31</td>\n",
" <td>-84.43</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>255</td>\n",
" <td>255</td>\n",
" <td>280</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>BASAURI</td>\n",
" <td>Spain</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>43.23</td>\n",
" <td>-2.89</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>825</td>\n",
" <td>825</td>\n",
" <td>370</td>\n",
" <td>372</td>\n",
" <td>372</td>\n",
" <td>372</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>REINOSA</td>\n",
" <td>Spain</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>43.01</td>\n",
" <td>-4.14</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>160</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>AZKOITIA</td>\n",
" <td>Spain</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>43.17</td>\n",
" <td>-2.32</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>330</td>\n",
" <td>377</td>\n",
" <td>377</td>\n",
" <td>397</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>VITORIA</td>\n",
" <td>Spain</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>37.12</td>\n",
" <td>-88.37</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>GSB ACERO</td>\n",
" <td>Spain</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>43.20</td>\n",
" <td>-2.31</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>245</td>\n",
" <td>245</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>INDIA</td>\n",
" <td>India</td>\n",
" <td>BF</td>\n",
" <td>OE</td>\n",
" <td>15.16</td>\n",
" <td>78.01</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>PERU</td>\n",
" <td>Peru</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-9.06</td>\n",
" <td>-78.60</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>960</td>\n",
" <td>960</td>\n",
" <td>960</td>\n",
" <td>1020</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>ARGENTINA</td>\n",
" <td>Argentina</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-32.99</td>\n",
" <td>-60.75</td>\n",
" <td>75</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>250</td>\n",
" <td>255</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>VENEZUELA</td>\n",
" <td>Venezuela</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>10.20</td>\n",
" <td>-71.28</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>173</td>\n",
" <td>173</td>\n",
" <td>173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>URUGUAI</td>\n",
" <td>Uruguay</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-34.81</td>\n",
" <td>-56.10</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>...</td>\n",
" <td>80</td>\n",
" <td>80</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>CHILE</td>\n",
" <td>Chile</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-33.40</td>\n",
" <td>-70.68</td>\n",
" <td>440</td>\n",
" <td>440</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>...</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>530</td>\n",
" <td>530</td>\n",
" <td>530</td>\n",
" <td>530</td>\n",
" <td>530</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>COLOMBIA</td>\n",
" <td>Colombia</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>5.73</td>\n",
" <td>-73.22</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>650</td>\n",
" <td>650</td>\n",
" <td>865</td>\n",
" <td>707</td>\n",
" <td>764</td>\n",
" <td>764</td>\n",
" <td>545</td>\n",
" <td>545</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>MEXICO</td>\n",
" <td>Mexico</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>19.63</td>\n",
" <td>-99.18</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>430</td>\n",
" <td>430</td>\n",
" <td>450</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>MIDLOTHIAN</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>32.46</td>\n",
" <td>-97.03</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1400</td>\n",
" <td>1400</td>\n",
" <td>1400</td>\n",
" <td>1449</td>\n",
" <td>1449</td>\n",
" <td>1449</td>\n",
" <td>1408</td>\n",
" <td>1411</td>\n",
" <td>1411</td>\n",
" <td>1411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>PETERSBURG</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>37.19</td>\n",
" <td>-77.45</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>700</td>\n",
" <td>700</td>\n",
" <td>562</td>\n",
" <td>476</td>\n",
" <td>476</td>\n",
" <td>476</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>WHITBY</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>43.86</td>\n",
" <td>-78.91</td>\n",
" <td>0</td>\n",
" <td>998</td>\n",
" <td>998</td>\n",
" <td>726</td>\n",
" <td>...</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>840</td>\n",
" <td>840</td>\n",
" <td>840</td>\n",
" <td>788</td>\n",
" <td>775</td>\n",
" <td>775</td>\n",
" <td>775</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>CARTESVILLE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>34.24</td>\n",
" <td>-84.80</td>\n",
" <td>0</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>581</td>\n",
" <td>...</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>JACKSON</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>42.20</td>\n",
" <td>-84.36</td>\n",
" <td>499</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>...</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>467</td>\n",
" <td>494</td>\n",
" <td>494</td>\n",
" <td>494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>ST PAUL</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>44.89</td>\n",
" <td>-93.01</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>499</td>\n",
" <td>...</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>CHARLOTTE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>35.34</td>\n",
" <td>-80.83</td>\n",
" <td>363</td>\n",
" <td>363</td>\n",
" <td>363</td>\n",
" <td>318</td>\n",
" <td>...</td>\n",
" <td>330</td>\n",
" <td>330</td>\n",
" <td>330</td>\n",
" <td>325</td>\n",
" <td>325</td>\n",
" <td>325</td>\n",
" <td>281</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>MANITOBA</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>50.13</td>\n",
" <td>-96.91</td>\n",
" <td>300</td>\n",
" <td>299</td>\n",
" <td>299</td>\n",
" <td>327</td>\n",
" <td>...</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>282</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>WILTON</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>41.58</td>\n",
" <td>-91.05</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>295</td>\n",
" <td>...</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>345</td>\n",
" <td>245</td>\n",
" <td>245</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>SAYREVILLE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>40.48</td>\n",
" <td>-74.32</td>\n",
" <td>0</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>...</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>623</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>SAND SPRINGS</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>36.13</td>\n",
" <td>-96.11</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>PERTH AMBOY</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>40.48</td>\n",
" <td>-74.32</td>\n",
" <td>0</td>\n",
" <td>907</td>\n",
" <td>907</td>\n",
" <td>726</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>KNOXVILLE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>35.98</td>\n",
" <td>-83.96</td>\n",
" <td>435</td>\n",
" <td>454</td>\n",
" <td>454</td>\n",
" <td>472</td>\n",
" <td>...</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>597</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>JACKSONVILLE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>30.20</td>\n",
" <td>-81.57</td>\n",
" <td>544</td>\n",
" <td>558</td>\n",
" <td>558</td>\n",
" <td>581</td>\n",
" <td>...</td>\n",
" <td>620</td>\n",
" <td>620</td>\n",
" <td>620</td>\n",
" <td>620</td>\n",
" <td>620</td>\n",
" <td>620</td>\n",
" <td>620</td>\n",
" <td>549</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>CUCAMONGA</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>34.09</td>\n",
" <td>-117.53</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>463</td>\n",
" <td>463</td>\n",
" <td>463</td>\n",
" <td>463</td>\n",
" <td>469</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>CAMBRIDGE</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>43.37</td>\n",
" <td>-80.28</td>\n",
" <td>280</td>\n",
" <td>295</td>\n",
" <td>295</td>\n",
" <td>290</td>\n",
" <td>...</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>278</td>\n",
" <td>278</td>\n",
" <td>278</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>BEAUMONT</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>30.08</td>\n",
" <td>-94.07</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>726</td>\n",
" <td>...</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>602</td>\n",
" <td>655</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>CALVERT CITY</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>37.05</td>\n",
" <td>-88.39</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>295</td>\n",
" <td>...</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>300</td>\n",
" <td>362</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>JOLIET</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>41.55</td>\n",
" <td>-88.08</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>70</td>\n",
" <td>70</td>\n",
" <td>70</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>50 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" local pais tipo on lat lng 2001 \\\n",
"0 ACOMINAS Brazil BF OB -20.54 -43.74 0 \n",
"1 ARACARIGUAMA Brazil EAF OB -23.44 -47.09 0 \n",
"2 AGUAFUNDA Brazil EAF OB -23.63 -46.62 0 \n",
"3 COSIGUA Brazil EAF OB -22.89 -43.75 1510 \n",
"4 DIVINOPOLIS Brazil BF OB -20.15 -44.88 456 \n",
"5 RIOGRANDENSE Brazil EAF OB -29.81 -51.17 470 \n",
"6 BARAO COCAIS Brazil BF OB -19.94 -43.48 198 \n",
"7 ACONORTE Brazil EAF OB -8.07 -34.98 270 \n",
"8 CEARENSE Brazil EAF OB -3.85 -38.61 120 \n",
"9 GUAIRA Brazil EAF OB -25.56 -49.42 167 \n",
"10 USIBA Brazil EAF OB -12.86 -38.42 400 \n",
"11 PINDA Brazil EAF OE -22.90 -45.35 0 \n",
"12 CHARQUEADAS Brazil EAF OE -29.96 -51.62 380 \n",
"13 MONROE United States of America EAF OE 41.89 -83.36 0 \n",
"14 FORTH SMITH United States of America EAF OE 35.31 -94.37 0 \n",
"15 MOGI Brazil EAF OE -23.52 -46.16 0 \n",
"16 SOROCABA Brazil EAF OE -23.49 -47.44 0 \n",
"17 JACKSONMI United States of America EAF OE 42.31 -84.43 0 \n",
"18 BASAURI Spain EAF OE 43.23 -2.89 0 \n",
"19 REINOSA Spain EAF OE 43.01 -4.14 0 \n",
"20 AZKOITIA Spain EAF OE 43.17 -2.32 0 \n",
"21 VITORIA Spain EAF OE 37.12 -88.37 0 \n",
"22 GSB ACERO Spain EAF OE 43.20 -2.31 0 \n",
"23 INDIA India BF OE 15.16 78.01 0 \n",
"24 PERU Peru EAF OS -9.06 -78.60 0 \n",
"25 ARGENTINA Argentina EAF OS -32.99 -60.75 75 \n",
"26 VENEZUELA Venezuela EAF OS 10.20 -71.28 0 \n",
"27 URUGUAI Uruguay EAF OS -34.81 -56.10 72 \n",
"28 CHILE Chile EAF OS -33.40 -70.68 440 \n",
"29 COLOMBIA Colombia EAF OS 5.73 -73.22 0 \n",
"30 MEXICO Mexico EAF ON 19.63 -99.18 0 \n",
"31 MIDLOTHIAN United States of America EAF ON 32.46 -97.03 0 \n",
"32 PETERSBURG United States of America EAF ON 37.19 -77.45 0 \n",
"33 WHITBY Canada EAF ON 43.86 -78.91 0 \n",
"34 CARTESVILLE United States of America EAF ON 34.24 -84.80 0 \n",
"35 JACKSON United States of America EAF ON 42.20 -84.36 499 \n",
"36 ST PAUL United States of America EAF ON 44.89 -93.01 0 \n",
"37 CHARLOTTE United States of America EAF ON 35.34 -80.83 363 \n",
"38 MANITOBA Canada EAF ON 50.13 -96.91 300 \n",
"39 WILTON United States of America EAF ON 41.58 -91.05 0 \n",
"40 SAYREVILLE United States of America EAF ON 40.48 -74.32 0 \n",
"41 SAND SPRINGS United States of America EAF ON 36.13 -96.11 0 \n",
"42 PERTH AMBOY United States of America EAF ON 40.48 -74.32 0 \n",
"43 KNOXVILLE United States of America EAF ON 35.98 -83.96 435 \n",
"44 JACKSONVILLE United States of America EAF ON 30.20 -81.57 544 \n",
"45 CUCAMONGA United States of America EAF ON 34.09 -117.53 0 \n",
"46 CAMBRIDGE Canada EAF ON 43.37 -80.28 280 \n",
"47 BEAUMONT United States of America EAF ON 30.08 -94.07 0 \n",
"48 CALVERT CITY United States of America EAF ON 37.05 -88.39 0 \n",
"49 JOLIET United States of America EAF ON 41.55 -88.08 0 \n",
"\n",
" 2002 2003 2004 ... 2010 2011 2012 2013 2014 2015 2016 2017 \\\n",
"0 740 655 655 ... 1070 1070 1070 2050 2026 2026 3126 3126 \n",
"1 0 0 0 ... 610 610 610 600 600 600 600 600 \n",
"2 0 215 305 ... 100 100 100 104 0 0 0 0 \n",
"3 1510 1320 1320 ... 1350 1350 1350 1414 1414 1414 1414 1414 \n",
"4 456 550 550 ... 520 520 520 518 460 460 460 460 \n",
"5 470 400 400 ... 500 500 500 495 495 495 495 495 \n",
"6 198 200 200 ... 200 200 200 196 196 196 196 196 \n",
"7 270 240 240 ... 160 160 160 242 242 242 242 242 \n",
"8 120 110 110 ... 240 240 240 161 161 161 161 161 \n",
"9 167 130 130 ... 170 170 170 166 0 0 0 0 \n",
"10 500 430 430 ... 400 400 400 397 0 0 0 0 \n",
"11 0 0 0 ... 910 910 690 1188 1188 1188 1188 1188 \n",
"12 380 390 390 ... 470 470 465 465 465 465 465 465 \n",
"13 0 0 0 ... 490 490 490 490 490 490 490 490 \n",
"14 0 0 0 ... 495 495 495 463 463 550 550 550 \n",
"15 0 0 0 ... 0 0 200 200 264 264 264 264 \n",
"16 0 0 0 ... 0 0 20 23 23 0 0 0 \n",
"17 0 0 0 ... 255 255 280 276 276 276 276 276 \n",
"18 0 0 0 ... 825 825 370 372 372 372 0 0 \n",
"19 0 0 0 ... 0 0 160 161 161 161 0 0 \n",
"20 0 0 0 ... 0 0 330 377 377 397 0 0 \n",
"21 0 0 0 ... 0 0 200 200 200 200 0 0 \n",
"22 0 0 0 ... 245 245 0 0 0 0 0 0 \n",
"23 0 0 0 ... 0 0 0 300 300 300 300 300 \n",
"24 0 0 0 ... 960 960 960 1020 520 520 573 573 \n",
"25 0 0 0 ... 240 240 250 255 263 263 263 263 \n",
"26 0 0 0 ... 200 200 200 170 170 170 170 173 \n",
"27 72 72 72 ... 80 80 90 90 90 90 90 90 \n",
"28 440 465 465 ... 470 470 470 530 530 530 530 530 \n",
"29 0 0 0 ... 650 650 865 707 764 764 545 545 \n",
"30 0 0 0 ... 430 430 450 400 400 400 400 400 \n",
"31 0 0 0 ... 1400 1400 1400 1449 1449 1449 1408 1411 \n",
"32 0 0 0 ... 1000 1000 1000 1000 700 700 562 476 \n",
"33 998 998 726 ... 730 730 730 840 840 840 788 775 \n",
"34 544 544 581 ... 580 580 580 580 580 580 580 610 \n",
"35 544 544 544 ... 540 540 540 540 540 540 467 494 \n",
"36 0 0 499 ... 420 420 420 420 420 420 420 455 \n",
"37 363 363 318 ... 330 330 330 325 325 325 281 316 \n",
"38 299 299 327 ... 360 360 360 360 360 360 282 271 \n",
"39 0 0 295 ... 320 320 320 320 320 320 320 345 \n",
"40 544 544 544 ... 600 600 600 600 600 600 600 623 \n",
"41 0 0 0 ... 0 0 0 0 0 0 0 0 \n",
"42 907 907 726 ... 0 0 0 0 0 0 0 0 \n",
"43 454 454 472 ... 470 470 470 550 550 550 550 597 \n",
"44 558 558 581 ... 620 620 620 620 620 620 620 549 \n",
"45 0 0 0 ... 460 460 460 463 463 463 463 469 \n",
"46 295 295 290 ... 290 290 290 290 290 290 290 278 \n",
"47 0 0 726 ... 730 730 730 730 730 730 602 655 \n",
"48 0 0 295 ... 300 300 300 300 300 300 362 0 \n",
"49 0 0 0 ... 70 70 70 0 0 0 0 0 \n",
"\n",
" 2018 2019 \n",
"0 3126 3126 \n",
"1 600 600 \n",
"2 0 0 \n",
"3 1414 1414 \n",
"4 460 460 \n",
"5 495 495 \n",
"6 196 196 \n",
"7 242 242 \n",
"8 161 161 \n",
"9 0 0 \n",
"10 0 0 \n",
"11 1188 1188 \n",
"12 615 615 \n",
"13 690 690 \n",
"14 550 550 \n",
"15 264 264 \n",
"16 0 0 \n",
"17 276 276 \n",
"18 0 0 \n",
"19 0 0 \n",
"20 0 0 \n",
"21 0 0 \n",
"22 0 0 \n",
"23 0 0 \n",
"24 573 573 \n",
"25 263 263 \n",
"26 173 173 \n",
"27 90 90 \n",
"28 0 0 \n",
"29 0 0 \n",
"30 400 400 \n",
"31 1411 1411 \n",
"32 476 476 \n",
"33 775 775 \n",
"34 610 610 \n",
"35 494 494 \n",
"36 455 455 \n",
"37 316 316 \n",
"38 271 271 \n",
"39 245 245 \n",
"40 0 0 \n",
"41 0 0 \n",
"42 0 0 \n",
"43 0 0 \n",
"44 0 0 \n",
"45 0 0 \n",
"46 278 278 \n",
"47 0 0 \n",
"48 0 0 \n",
"49 0 0 \n",
"\n",
"[50 rows x 25 columns]"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_gg20.head(50)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVMgPSBmYWxzZTsgTF9OT19UT1VDSCA9IGZhbHNlOyBMX0RJU0FCTEVfM0QgPSBmYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjExLjEvanF1ZXJ5Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS4yLjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdnaXQuY29tL3B5dGhvbi12aXN1YWxpemF0aW9uL2ZvbGl1bS9tYXN0ZXIvZm9saXVtL3RlbXBsYXRlcy9sZWFmbGV0LmF3ZXNvbWUucm90YXRlLmNzcyIvPgogICAgPHN0eWxlPmh0bWwsIGJvZHkge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTttYXJnaW46IDA7cGFkZGluZzogMDt9PC9zdHlsZT4KICAgIDxzdHlsZT4jbWFwIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MDt9PC9zdHlsZT4KICAgIAogICAgICAgICAgICA8c3R5bGU+ICNtYXBfN2I1NWQ1NTE2MzA2NDQ4ZWFkMzEyNzAwYzgwYThjMzQgewogICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTsKICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwLjAlOwogICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgICAgICAgICAgdG9wOiAwLjAlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICA8L3N0eWxlPgogICAgICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQubWFya2VyY2x1c3Rlci8xLjEuMC9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMS4xLjAvTWFya2VyQ2x1c3Rlci5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzEuMS4wL01hcmtlckNsdXN0ZXIuRGVmYXVsdC5jc3MiLz4KPC9oZWFkPgo8Ym9keT4gICAgCiAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF83YjU1ZDU1MTYzMDY0NDhlYWQzMTI3MDBjODBhOGMzNCIgPjwvZGl2PgogICAgICAgIAo8L2JvZHk+CjxzY3JpcHQ+ICAgIAogICAgCgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBib3VuZHMgPSBudWxsOwogICAgICAgICAgICAKCiAgICAgICAgICAgIHZhciBtYXBfN2I1NWQ1NTE2MzA2NDQ4ZWFkMzEyNzAwYzgwYThjMzQgPSBMLm1hcCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYXBfN2I1NWQ1NTE2MzA2NDQ4ZWFkMzEyNzAwYzgwYThjMzQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NlbnRlcjogWy0yMC41NCwtNDMuNzRdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmxkQ29weUp1bXA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHRpbGVfbGF5ZXJfNzczM2E2MmU3NTU2NDAzZjk2Y2VkOGI3NzMwNzgxNGYgPSBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICdodHRwczovL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAub3JnL3t6fS97eH0ve3l9LnBuZycsCiAgICAgICAgICAgICAgICB7CiAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgIm1heFpvb20iOiAxOCwKICAibWluWm9vbSI6IDEsCiAgIm5vV3JhcCI6IGZhbHNlLAogICJzdWJkb21haW5zIjogImFiYyIKfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfN2I1NWQ1NTE2MzA2NDQ4ZWFkMzEyNzAwYzgwYThjMzQpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCA9IEwubWFya2VyQ2x1c3Rlckdyb3VwKHsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9KTsKICAgICAgICAgICAgbWFwXzdiNTVkNTUxNjMwNjQ0OGVhZDMxMjcwMGM4MGE4YzM0LmFkZExheWVyKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfYzRkMDQwMTcyZjc2NDFhNWJhMGFjOTZmODg3Zjc3MjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMjAuNTQsLTQzLjc0XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yODllMDBiZjIzYzQ0Zjk2OGY4MDJjM2JiNjAzMWRhOSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9jYjIxMjk4YjNjYzY0MWFiOTMyZTM4OGJlMDlhZmUzNSA9ICQoJzxkaXYgaWQ9Imh0bWxfY2IyMTI5OGIzY2M2NDFhYjkzMmUzODhiZTA5YWZlMzUiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFDT01JTkFTPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8yODllMDBiZjIzYzQ0Zjk2OGY4MDJjM2JiNjAzMWRhOS5zZXRDb250ZW50KGh0bWxfY2IyMTI5OGIzY2M2NDFhYjkzMmUzODhiZTA5YWZlMzUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jNGQwNDAxNzJmNzY0MWE1YmEwYWM5NmY4ODdmNzcyMS5iaW5kUG9wdXAocG9wdXBfMjg5ZTAwYmYyM2M0NGY5NjhmODAyYzNiYjYwMzFkYTkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfMzA0ZTU2MzM4NTU5NGU1YjgwZGY5YzIzZDk5ODVjNjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMjMuNDQsLTQ3LjA5XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hYjE5NjJkMzg4NDI0YzhiODFhNzVkMTY1N2UxMDI5NyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9hOWRhMWE5NDBhN2Q0YjljYTY2NGE1NGU1NjBkOWExNCA9ICQoJzxkaXYgaWQ9Imh0bWxfYTlkYTFhOTQwYTdkNGI5Y2E2NjRhNTRlNTYwZDlhMTQiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFSQUNBUklHVUFNQTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYWIxOTYyZDM4ODQyNGM4YjgxYTc1ZDE2NTdlMTAyOTcuc2V0Q29udGVudChodG1sX2E5ZGExYTk0MGE3ZDRiOWNhNjY0YTU0ZTU2MGQ5YTE0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMzA0ZTU2MzM4NTU5NGU1YjgwZGY5YzIzZDk5ODVjNjIuYmluZFBvcHVwKHBvcHVwX2FiMTk2MmQzODg0MjRjOGI4MWE3NWQxNjU3ZTEwMjk3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2QxYzExMDY2NjA4NjRiYmY5OTAyZDA3ZDNkM2YzNDNjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTIyLjg5LC00My43NV0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMTAyOTRjOTMwMTk0NDc5Y2JlNWE1NWY0MDQyNGNiYzkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNzFiMmY4MWUyMzBhNGRlYzg1MDZhODM0N2Q0ZWQwNzEgPSAkKCc8ZGl2IGlkPSJodG1sXzcxYjJmODFlMjMwYTRkZWM4NTA2YTgzNDdkNGVkMDcxIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DT1NJR1VBPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xMDI5NGM5MzAxOTQ0NzljYmU1YTU1ZjQwNDI0Y2JjOS5zZXRDb250ZW50KGh0bWxfNzFiMmY4MWUyMzBhNGRlYzg1MDZhODM0N2Q0ZWQwNzEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9kMWMxMTA2NjYwODY0YmJmOTkwMmQwN2QzZDNmMzQzYy5iaW5kUG9wdXAocG9wdXBfMTAyOTRjOTMwMTk0NDc5Y2JlNWE1NWY0MDQyNGNiYzkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfNzUzZjRlZThlNWQzNGY3ZjgxMDg4ZjI4NTcyOGY2YTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMjAuMTUsLTQ0Ljg4XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wMjNiOTRhYzNlYTc0NTViOTY5M2QzZTEyOGFlY2RkZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84NDEyYTA3NzNjNjI0OGY3OTNiZWJkMjM0MmYxNzc3ZiA9ICQoJzxkaXYgaWQ9Imh0bWxfODQxMmEwNzczYzYyNDhmNzkzYmViZDIzNDJmMTc3N2YiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkRJVklOT1BPTElTPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wMjNiOTRhYzNlYTc0NTViOTY5M2QzZTEyOGFlY2RkZC5zZXRDb250ZW50KGh0bWxfODQxMmEwNzczYzYyNDhmNzkzYmViZDIzNDJmMTc3N2YpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl83NTNmNGVlOGU1ZDM0ZjdmODEwODhmMjg1NzI4ZjZhNS5iaW5kUG9wdXAocG9wdXBfMDIzYjk0YWMzZWE3NDU1Yjk2OTNkM2UxMjhhZWNkZGQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfMDg1ZGQwMGEwZmY1NGMyNDg0YzlmOGVhZjUxYjFlOTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMjkuODEsLTUxLjE3XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF81MzA0YzQwNDdmZjA0NTFkODUyNTYxOGZiN2Y3MTBhMCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mZjhiNDQ2OTBhNmE0OWIwYWRjMDQ2ZDJiMjZhN2FhMCA9ICQoJzxkaXYgaWQ9Imh0bWxfZmY4YjQ0NjkwYTZhNDliMGFkYzA0NmQyYjI2YTdhYTAiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlJJT0dSQU5ERU5TRTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNTMwNGM0MDQ3ZmYwNDUxZDg1MjU2MThmYjdmNzEwYTAuc2V0Q29udGVudChodG1sX2ZmOGI0NDY5MGE2YTQ5YjBhZGMwNDZkMmIyNmE3YWEwKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMDg1ZGQwMGEwZmY1NGMyNDg0YzlmOGVhZjUxYjFlOTAuYmluZFBvcHVwKHBvcHVwXzUzMDRjNDA0N2ZmMDQ1MWQ4NTI1NjE4ZmI3ZjcxMGEwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyXzBjOWY1YzZiMmU5NDRiN2M5NTk1YjUzZDNiMzM1NDg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTE5Ljk0LC00My40OF0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZmYwMjA4ZGI3ZWJmNDI5ZGEzOTMwNzE1ZDI4ZDc4MzggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNzY3YjNmZDYxZmYxNGY1MGFhMjRkYzQ1ZDg3MzExMzMgPSAkKCc8ZGl2IGlkPSJodG1sXzc2N2IzZmQ2MWZmMTRmNTBhYTI0ZGM0NWQ4NzMxMTMzIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5CQVJBTyBDT0NBSVM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2ZmMDIwOGRiN2ViZjQyOWRhMzkzMDcxNWQyOGQ3ODM4LnNldENvbnRlbnQoaHRtbF83NjdiM2ZkNjFmZjE0ZjUwYWEyNGRjNDVkODczMTEzMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzBjOWY1YzZiMmU5NDRiN2M5NTk1YjUzZDNiMzM1NDg1LmJpbmRQb3B1cChwb3B1cF9mZjAyMDhkYjdlYmY0MjlkYTM5MzA3MTVkMjhkNzgzOCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl81MjNhMTRmMGJiZTQ0MTJkYjgzZWIyNGU4Y2IxNjNiMCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy04LjA3LC0zNC45OF0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfM2ExYWIwMDkwOTIwNDRmZGIzYzQzMTBmZGIxYjE5ZWQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYmY1MWNjZjM1NDg5NGFhOGJmYWMxYjk5ZjNkYTNhOWUgPSAkKCc8ZGl2IGlkPSJodG1sX2JmNTFjY2YzNTQ4OTRhYThiZmFjMWI5OWYzZGEzYTllIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5BQ09OT1JURTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfM2ExYWIwMDkwOTIwNDRmZGIzYzQzMTBmZGIxYjE5ZWQuc2V0Q29udGVudChodG1sX2JmNTFjY2YzNTQ4OTRhYThiZmFjMWI5OWYzZGEzYTllKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfNTIzYTE0ZjBiYmU0NDEyZGI4M2ViMjRlOGNiMTYzYjAuYmluZFBvcHVwKHBvcHVwXzNhMWFiMDA5MDkyMDQ0ZmRiM2M0MzEwZmRiMWIxOWVkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2Q3MmE2ZTk5NjU5MzRmMDA4OWZkMDJkMjBhMDRiNDgzID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTMuODUsLTM4LjYxXSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84NGRlZDI3NTY0YzE0Y2ZjOTU0MWJhNzU0MWY3Y2NkNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF81NzFkZDI3YzMyN2Q0ZGFlYTExYTE0MzlmNmZmY2QzOSA9ICQoJzxkaXYgaWQ9Imh0bWxfNTcxZGQyN2MzMjdkNGRhZWExMWExNDM5ZjZmZmNkMzkiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNFQVJFTlNFPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84NGRlZDI3NTY0YzE0Y2ZjOTU0MWJhNzU0MWY3Y2NkNS5zZXRDb250ZW50KGh0bWxfNTcxZGQyN2MzMjdkNGRhZWExMWExNDM5ZjZmZmNkMzkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9kNzJhNmU5OTY1OTM0ZjAwODlmZDAyZDIwYTA0YjQ4My5iaW5kUG9wdXAocG9wdXBfODRkZWQyNzU2NGMxNGNmYzk1NDFiYTc1NDFmN2NjZDUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfNWVlMzI4YWY1N2EwNGE0ZTljN2FlMWEwZWUzNTM5MTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMjIuOSwtNDUuMzVdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzZlOGYwOGI5ODlkZjRmNGE4NGNhNDA5ZmY0NDUwNjI2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzdiNWEyYjc5NzM0ZTQwMjE5ZDk5MjZjNTQxN2EzZDlmID0gJCgnPGRpdiBpZD0iaHRtbF83YjVhMmI3OTczNGU0MDIxOWQ5OTI2YzU0MTdhM2Q5ZiIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+UElOREE8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzZlOGYwOGI5ODlkZjRmNGE4NGNhNDA5ZmY0NDUwNjI2LnNldENvbnRlbnQoaHRtbF83YjVhMmI3OTczNGU0MDIxOWQ5OTI2YzU0MTdhM2Q5Zik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzVlZTMyOGFmNTdhMDRhNGU5YzdhZTFhMGVlMzUzOTE1LmJpbmRQb3B1cChwb3B1cF82ZThmMDhiOTg5ZGY0ZjRhODRjYTQwOWZmNDQ1MDYyNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl8wODVjOTgyODczY2E0Y2MxYjU1NDQxNzE2MTdjNzFjNCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0yOS45NiwtNTEuNjJdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2FkZTZlZjRmNWVmZTRmZGZiYzY2ZGU5ZmY5ZDJlNmY5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzExOGMyMDdjOTg2OTRiYzE4ODAyM2I0ZTc0ZGQ4NGEwID0gJCgnPGRpdiBpZD0iaHRtbF8xMThjMjA3Yzk4Njk0YmMxODgwMjNiNGU3NGRkODRhMCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+Q0hBUlFVRUFEQVM8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2FkZTZlZjRmNWVmZTRmZGZiYzY2ZGU5ZmY5ZDJlNmY5LnNldENvbnRlbnQoaHRtbF8xMThjMjA3Yzk4Njk0YmMxODgwMjNiNGU3NGRkODRhMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzA4NWM5ODI4NzNjYTRjYzFiNTU0NDE3MTYxN2M3MWM0LmJpbmRQb3B1cChwb3B1cF9hZGU2ZWY0ZjVlZmU0ZmRmYmM2NmRlOWZmOWQyZTZmOSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl9lMWZlNjFkYmUyMmU0OTRhYjAwMzk2NTVlYTU5NDM1MiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzQxLjg5LC04My4zNl0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzQ4NzUwMjNhYjYxNDM5OTg1MmM4OWEyMmRlYTAwNWMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZjdiZTEwMjFmZTZhNGMzZmI3MDYzMDdlNDYzMmRhZjYgPSAkKCc8ZGl2IGlkPSJodG1sX2Y3YmUxMDIxZmU2YTRjM2ZiNzA2MzA3ZTQ2MzJkYWY2IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NT05ST0U8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzM0ODc1MDIzYWI2MTQzOTk4NTJjODlhMjJkZWEwMDVjLnNldENvbnRlbnQoaHRtbF9mN2JlMTAyMWZlNmE0YzNmYjcwNjMwN2U0NjMyZGFmNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyX2UxZmU2MWRiZTIyZTQ5NGFiMDAzOTY1NWVhNTk0MzUyLmJpbmRQb3B1cChwb3B1cF8zNDg3NTAyM2FiNjE0Mzk5ODUyYzg5YTIyZGVhMDA1Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl8wMDY3M2FhNjczNGU0NWY3YmUwNDljYTY5ZWRhYzQwZiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzM1LjMxLC05NC4zN10sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDY4NjRlOTk2ZDBjNDBmMGFiODU2ZjNlNjVhODI4MjUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNWIxNmYyODM0NzE3NGQwZWFiODYwNTE0NjcyNTg1NzggPSAkKCc8ZGl2IGlkPSJodG1sXzViMTZmMjgzNDcxNzRkMGVhYjg2MDUxNDY3MjU4NTc4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5GT1JUSCBTTUlUSDwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNDY4NjRlOTk2ZDBjNDBmMGFiODU2ZjNlNjVhODI4MjUuc2V0Q29udGVudChodG1sXzViMTZmMjgzNDcxNzRkMGVhYjg2MDUxNDY3MjU4NTc4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMDA2NzNhYTY3MzRlNDVmN2JlMDQ5Y2E2OWVkYWM0MGYuYmluZFBvcHVwKHBvcHVwXzQ2ODY0ZTk5NmQwYzQwZjBhYjg1NmYzZTY1YTgyODI1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2Q4YzAyNzRiODM5NzQzOTliY2Y1OTAxNTQxNmI1YzM3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTIzLjUyLC00Ni4xNl0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTQ4OGZkMTkzOGVhNGRlMjkwMDAwZTNlZDA5Y2Y0ZjkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjNhMzRmMTk1MmMyNGY5NjgwYTNiN2FjYjA4ZDNhMWIgPSAkKCc8ZGl2IGlkPSJodG1sXzIzYTM0ZjE5NTJjMjRmOTY4MGEzYjdhY2IwOGQzYTFiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NT0dJPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lNDg4ZmQxOTM4ZWE0ZGUyOTAwMDBlM2VkMDljZjRmOS5zZXRDb250ZW50KGh0bWxfMjNhMzRmMTk1MmMyNGY5NjgwYTNiN2FjYjA4ZDNhMWIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9kOGMwMjc0YjgzOTc0Mzk5YmNmNTkwMTU0MTZiNWMzNy5iaW5kUG9wdXAocG9wdXBfZTQ4OGZkMTkzOGVhNGRlMjkwMDAwZTNlZDA5Y2Y0ZjkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfZTJjNGIyMzE3OTBhNDJjMTk3YjYyNTBiY2NmZmQ5NDggPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFs0Mi4zMSwtODQuNDNdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Q1NzZkY2NmZGNlMTRmZTZiYjU0NzQ0OTVjNzJiYmNlID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzZmNjZiOWI2NzMwYTRhMjU5NGFjMmJjZDI1ZTkyNTg5ID0gJCgnPGRpdiBpZD0iaHRtbF82ZjY2YjliNjczMGE0YTI1OTRhYzJiY2QyNWU5MjU4OSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SkFDS1NPTk1JPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kNTc2ZGNjZmRjZTE0ZmU2YmI1NDc0NDk1YzcyYmJjZS5zZXRDb250ZW50KGh0bWxfNmY2NmI5YjY3MzBhNGEyNTk0YWMyYmNkMjVlOTI1ODkpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9lMmM0YjIzMTc5MGE0MmMxOTdiNjI1MGJjY2ZmZDk0OC5iaW5kUG9wdXAocG9wdXBfZDU3NmRjY2ZkY2UxNGZlNmJiNTQ3NDQ5NWM3MmJiY2UpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfYzQ0OGQ5MzAwMDJjNGUyNGFkYjVjMWEyMWE5NTYxYmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstOS4wNiwtNzguNl0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNTg3MGY3ZTZkNGIyNDFhN2JlZDkxMjJmMDdjNDNmNzcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfY2Q5MGZjZjg2ZDkzNDkzNDliNjk3MjI4NTk3MmZhMmMgPSAkKCc8ZGl2IGlkPSJodG1sX2NkOTBmY2Y4NmQ5MzQ5MzQ5YjY5NzIyODU5NzJmYTJjIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QRVJVPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF81ODcwZjdlNmQ0YjI0MWE3YmVkOTEyMmYwN2M0M2Y3Ny5zZXRDb250ZW50KGh0bWxfY2Q5MGZjZjg2ZDkzNDkzNDliNjk3MjI4NTk3MmZhMmMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jNDQ4ZDkzMDAwMmM0ZTI0YWRiNWMxYTIxYTk1NjFiZi5iaW5kUG9wdXAocG9wdXBfNTg3MGY3ZTZkNGIyNDFhN2JlZDkxMjJmMDdjNDNmNzcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfN2E1ODZjYjg4MmZjNDMyNjg2MzI3NmNjYjhlMjU2Y2YgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMzIuOTksLTYwLjc1XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lNTIxZGM1YTA0YjM0YTJhYmYyZjc1YmE0MTYxNzVlNCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80ZWJlNTlkZWJmMGQ0NTJlYjIzMmU4ZTFkNTY2ZTgyNiA9ICQoJzxkaXYgaWQ9Imh0bWxfNGViZTU5ZGViZjBkNDUyZWIyMzJlOGUxZDU2NmU4MjYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkFSR0VOVElOQTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZTUyMWRjNWEwNGIzNGEyYWJmMmY3NWJhNDE2MTc1ZTQuc2V0Q29udGVudChodG1sXzRlYmU1OWRlYmYwZDQ1MmViMjMyZThlMWQ1NjZlODI2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfN2E1ODZjYjg4MmZjNDMyNjg2MzI3NmNjYjhlMjU2Y2YuYmluZFBvcHVwKHBvcHVwX2U1MjFkYzVhMDRiMzRhMmFiZjJmNzViYTQxNjE3NWU0KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyXzlhODJiZTE1MjMxMTQxN2Y4NWY5YWQzMzk5ZmU4ZTYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMTAuMiwtNzEuMjhdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzhhYzUzMDZjYjJhMDRkN2JhNThlOTMxMGRhZjhmZTFiID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzEzNzhjNTY4NTBhMDRlZTU5NmE1MmZlODE3Zjk3MGFlID0gJCgnPGRpdiBpZD0iaHRtbF8xMzc4YzU2ODUwYTA0ZWU1OTZhNTJmZTgxN2Y5NzBhZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VkVORVpVRUxBPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF84YWM1MzA2Y2IyYTA0ZDdiYTU4ZTkzMTBkYWY4ZmUxYi5zZXRDb250ZW50KGh0bWxfMTM3OGM1Njg1MGEwNGVlNTk2YTUyZmU4MTdmOTcwYWUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl85YTgyYmUxNTIzMTE0MTdmODVmOWFkMzM5OWZlOGU2MS5iaW5kUG9wdXAocG9wdXBfOGFjNTMwNmNiMmEwNGQ3YmE1OGU5MzEwZGFmOGZlMWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfZDhjOTU0OGRiYzA2NDY0YWE1NzdmMjNlZmQyZTZlOTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMzQuODEsLTU2LjFdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2YwN2M3OTRiYTk3YTQwZTI4MWNiMjhiNWQ0NmQzNjY4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzAyMWEzMDZkZTAwNzQ1MTdiMjc5MTljY2Q0YTU5MTI4ID0gJCgnPGRpdiBpZD0iaHRtbF8wMjFhMzA2ZGUwMDc0NTE3YjI3OTE5Y2NkNGE1OTEyOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+VVJVR1VBSTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZjA3Yzc5NGJhOTdhNDBlMjgxY2IyOGI1ZDQ2ZDM2Njguc2V0Q29udGVudChodG1sXzAyMWEzMDZkZTAwNzQ1MTdiMjc5MTljY2Q0YTU5MTI4KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfZDhjOTU0OGRiYzA2NDY0YWE1NzdmMjNlZmQyZTZlOTMuYmluZFBvcHVwKHBvcHVwX2YwN2M3OTRiYTk3YTQwZTI4MWNiMjhiNWQ0NmQzNjY4KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2FkYzZhZDY5OTNlYzQyYmU4ZjJjYjEwOGVhMjJjYWFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMTkuNjMsLTk5LjE4XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iODUyMzMyYTM1Y2U0ZjAwYTUxNTdlZjllNTYwNzI4OSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iNTcyY2UzN2EzZGU0YTQxOGMxMGQxNDQwYjMzZmE3ZiA9ICQoJzxkaXYgaWQ9Imh0bWxfYjU3MmNlMzdhM2RlNGE0MThjMTBkMTQ0MGIzM2ZhN2YiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1FWElDTzwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjg1MjMzMmEzNWNlNGYwMGE1MTU3ZWY5ZTU2MDcyODkuc2V0Q29udGVudChodG1sX2I1NzJjZTM3YTNkZTRhNDE4YzEwZDE0NDBiMzNmYTdmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfYWRjNmFkNjk5M2VjNDJiZThmMmNiMTA4ZWEyMmNhYWYuYmluZFBvcHVwKHBvcHVwX2I4NTIzMzJhMzVjZTRmMDBhNTE1N2VmOWU1NjA3Mjg5KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyXzBhNDIyOTc4YmViNDQ0NTQ5ZGE3MjFhZDQ3OWQ1ZmI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbMzIuNDYsLTk3LjAzXSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mNGI2NWQ3ZmMyZWM0NzM3YjA0NGM4NTA4YWI5ODg3MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9lYmQ2ZDc0M2NjM2Q0NDdiYWYyNjMyNjhmMTNiYTZjNiA9ICQoJzxkaXYgaWQ9Imh0bWxfZWJkNmQ3NDNjYzNkNDQ3YmFmMjYzMjY4ZjEzYmE2YzYiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPk1JRExPVEhJQU48L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Y0YjY1ZDdmYzJlYzQ3MzdiMDQ0Yzg1MDhhYjk4ODcwLnNldENvbnRlbnQoaHRtbF9lYmQ2ZDc0M2NjM2Q0NDdiYWYyNjMyNjhmMTNiYTZjNik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzBhNDIyOTc4YmViNDQ0NTQ5ZGE3MjFhZDQ3OWQ1ZmI2LmJpbmRQb3B1cChwb3B1cF9mNGI2NWQ3ZmMyZWM0NzM3YjA0NGM4NTA4YWI5ODg3MCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl83NjcyOWFhMDc1YjY0ZTZkODNmZWE5NmQyMGIzNjdlMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzM3LjE5LC03Ny40NV0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfY2YyYWFmMTRkNDdjNGQ5Njg2YWU5MjNmZjQxOGQ5NzIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYzA5ODM2N2QzZWIwNGY5MWIyODVmMjZhZjYxOTFmOWQgPSAkKCc8ZGl2IGlkPSJodG1sX2MwOTgzNjdkM2ViMDRmOTFiMjg1ZjI2YWY2MTkxZjlkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5QRVRFUlNCVVJHPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jZjJhYWYxNGQ0N2M0ZDk2ODZhZTkyM2ZmNDE4ZDk3Mi5zZXRDb250ZW50KGh0bWxfYzA5ODM2N2QzZWIwNGY5MWIyODVmMjZhZjYxOTFmOWQpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl83NjcyOWFhMDc1YjY0ZTZkODNmZWE5NmQyMGIzNjdlMS5iaW5kUG9wdXAocG9wdXBfY2YyYWFmMTRkNDdjNGQ5Njg2YWU5MjNmZjQxOGQ5NzIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfYzJkMWNkMDlmMzIxNGYyYWExMzY0ZDU3MjMwYWVjZGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFs0My44NiwtNzguOTFdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2I4MDc4ZWVlMjFlOTQ5ZmNiYWRkZTlkMWU5MzliZjU5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M4ZGNkZmM1NTg4NTRlYmVhMDgxMzJjODU4ODI5ZGY4ID0gJCgnPGRpdiBpZD0iaHRtbF9jOGRjZGZjNTU4ODU0ZWJlYTA4MTMyYzg1ODgyOWRmOCIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+V0hJVEJZPC9kaXY+JylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9iODA3OGVlZTIxZTk0OWZjYmFkZGU5ZDFlOTM5YmY1OS5zZXRDb250ZW50KGh0bWxfYzhkY2RmYzU1ODg1NGViZWEwODEzMmM4NTg4MjlkZjgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG1hcmtlcl9jMmQxY2QwOWYzMjE0ZjJhYTEzNjRkNTcyMzBhZWNkZi5iaW5kUG9wdXAocG9wdXBfYjgwNzhlZWUyMWU5NDlmY2JhZGRlOWQxZTkzOWJmNTkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAKCiAgICAgICAgICAgIHZhciBtYXJrZXJfYzY0NWFmOTQ2ZDQxNDc4NThiMTA2NmVlNTFmMGQyYjggPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFszNC4yNCwtODQuOF0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDkxZTQzMDZhZGJlNDk5ODliMzNjYmQ1NjliZjliN2UgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGUwNTQyNWJlMDQ4NDA3MGJkN2RhY2YwZjJkYzY2ZGIgPSAkKCc8ZGl2IGlkPSJodG1sX2RlMDU0MjViZTA0ODQwNzBiZDdkYWNmMGYyZGM2NmRiIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DQVJURVNWSUxMRTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNDkxZTQzMDZhZGJlNDk5ODliMzNjYmQ1NjliZjliN2Uuc2V0Q29udGVudChodG1sX2RlMDU0MjViZTA0ODQwNzBiZDdkYWNmMGYyZGM2NmRiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfYzY0NWFmOTQ2ZDQxNDc4NThiMTA2NmVlNTFmMGQyYjguYmluZFBvcHVwKHBvcHVwXzQ5MWU0MzA2YWRiZTQ5OTg5YjMzY2JkNTY5YmY5YjdlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyXzMzNTA3YWNlZGVhNzRkZDI4NDEwNGRiMWNkMDgyNjkwID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbNDIuMiwtODQuMzZdLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgLmFkZFRvKG1hcmtlcl9jbHVzdGVyXzg2YTEwMTkzMWQ1ZTQ5ODE5MDk4ZWIzM2Y5NmJmYjZkKTsKICAgICAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2M5ZmQ4OTc4NWIxMTQwM2Y4YWUwMjEzNTY1NGM0YmQzID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzY3NzQ4ZmQzNWYzZDQ0MGE5NTVjYjMyZTFlNmU4YTFlID0gJCgnPGRpdiBpZD0iaHRtbF82Nzc0OGZkMzVmM2Q0NDBhOTU1Y2IzMmUxZTZlOGExZSIgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+SkFDS1NPTjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYzlmZDg5Nzg1YjExNDAzZjhhZTAyMTM1NjU0YzRiZDMuc2V0Q29udGVudChodG1sXzY3NzQ4ZmQzNWYzZDQ0MGE5NTVjYjMyZTFlNmU4YTFlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfMzM1MDdhY2VkZWE3NGRkMjg0MTA0ZGIxY2QwODI2OTAuYmluZFBvcHVwKHBvcHVwX2M5ZmQ4OTc4NWIxMTQwM2Y4YWUwMjEzNTY1NGM0YmQzKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2RmNmIyNTQ3MTIyNzQyNTVhNTlhYTkxZGE2NmQzNTc0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbNDQuODksLTkzLjAxXSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8yNzczZjNhNzU1YjM0Zjk4YjU2NjVlYjNhNzViNjE4NiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8xNGM0OWYxODMzNzM0OWJlYWU0ZTNiMzZkYzhiNmFmMSA9ICQoJzxkaXYgaWQ9Imh0bWxfMTRjNDlmMTgzMzczNDliZWFlNGUzYjM2ZGM4YjZhZjEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPlNUIFBBVUw8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzI3NzNmM2E3NTViMzRmOThiNTY2NWViM2E3NWI2MTg2LnNldENvbnRlbnQoaHRtbF8xNGM0OWYxODMzNzM0OWJlYWU0ZTNiMzZkYzhiNmFmMSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyX2RmNmIyNTQ3MTIyNzQyNTVhNTlhYTkxZGE2NmQzNTc0LmJpbmRQb3B1cChwb3B1cF8yNzczZjNhNzU1YjM0Zjk4YjU2NjVlYjNhNzViNjE4Nik7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl84NGM4MTQxMmMyNzY0OWEyYjQwZTc4MTE2ZjFkZWNiNSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzM1LjM0LC04MC44M10sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNDJmMjU2NjQxMDkzNDU5OThkNjMyNGMyODhjODY0MmMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfOWU2NGU4NGYyYmFlNDkzZDliYWNmMTFkZTMxNjg5YjggPSAkKCc8ZGl2IGlkPSJodG1sXzllNjRlODRmMmJhZTQ5M2Q5YmFjZjExZGUzMTY4OWI4IiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5DSEFSTE9UVEU8L2Rpdj4nKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzQyZjI1NjY0MTA5MzQ1OTk4ZDYzMjRjMjg4Yzg2NDJjLnNldENvbnRlbnQoaHRtbF85ZTY0ZTg0ZjJiYWU0OTNkOWJhY2YxMWRlMzE2ODliOCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbWFya2VyXzg0YzgxNDEyYzI3NjQ5YTJiNDBlNzgxMTZmMWRlY2I1LmJpbmRQb3B1cChwb3B1cF80MmYyNTY2NDEwOTM0NTk5OGQ2MzI0YzI4OGM4NjQyYyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgIAoKICAgICAgICAgICAgdmFyIG1hcmtlcl9mZjMxMTY1YjUxOWI0N2ZjYjY3MjFhYjFhODRhMDYwZCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWzUwLjEzLC05Ni45MV0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuYWRkVG8obWFya2VyX2NsdXN0ZXJfODZhMTAxOTMxZDVlNDk4MTkwOThlYjMzZjk2YmZiNmQpOwogICAgICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTkwYTA5MWNkYmJhNGY0NDlhYzNlNThjZjM0MzcwMDcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGE5MzdlMzU4ZDY4NGZiNWE4NDgwMDJlMmIwNjgwMmQgPSAkKCc8ZGl2IGlkPSJodG1sXzBhOTM3ZTM1OGQ2ODRmYjVhODQ4MDAyZTJiMDY4MDJkIiBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij5NQU5JVE9CQTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZTkwYTA5MWNkYmJhNGY0NDlhYzNlNThjZjM0MzcwMDcuc2V0Q29udGVudChodG1sXzBhOTM3ZTM1OGQ2ODRmYjVhODQ4MDAyZTJiMDY4MDJkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfZmYzMTE2NWI1MTliNDdmY2I2NzIxYWIxYTg0YTA2MGQuYmluZFBvcHVwKHBvcHVwX2U5MGEwOTFjZGJiYTRmNDQ5YWMzZTU4Y2YzNDM3MDA3KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2RlMTU2ZmQxNjMxNTRkNmRiNzQ4M2NlODk3MmI4YTAzID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbNDEuNTgsLTkxLjA1XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iMzc4ODRkM2Q1ZTY0ZWQzYWEzY2MxZDM2YzJjMDc0ZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF81YTNkZDNhZGFhNDE0NTJlYTc1OTk5MDNlMjI2ODU2YyA9ICQoJzxkaXYgaWQ9Imh0bWxfNWEzZGQzYWRhYTQxNDUyZWE3NTk5OTAzZTIyNjg1NmMiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPldJTFRPTjwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjM3ODg0ZDNkNWU2NGVkM2FhM2NjMWQzNmMyYzA3NGUuc2V0Q29udGVudChodG1sXzVhM2RkM2FkYWE0MTQ1MmVhNzU5OTkwM2UyMjY4NTZjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfZGUxNTZmZDE2MzE1NGQ2ZGI3NDgzY2U4OTcyYjhhMDMuYmluZFBvcHVwKHBvcHVwX2IzNzg4NGQzZDVlNjRlZDNhYTNjYzFkMzZjMmMwNzRlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgCgogICAgICAgICAgICB2YXIgbWFya2VyX2U1OWZmMmU2MjlkZjQwZmY4MjVmNjBkNmQzNzVlNzFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbNDMuMzcsLTgwLjI4XSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hZGRUbyhtYXJrZXJfY2x1c3Rlcl84NmExMDE5MzFkNWU0OTgxOTA5OGViMzNmOTZiZmI2ZCk7CiAgICAgICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9iNWIyM2E5ZWMzMGM0OTVlYmU2ZjhkY2RmMTEyZTk2YiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNjExN2IwMWZiMDE0ZDYwOGQ3MDZhMjYwZDdjOGU2MSA9ICQoJzxkaXYgaWQ9Imh0bWxfMDYxMTdiMDFmYjAxNGQ2MDhkNzA2YTI2MGQ3YzhlNjEiIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPkNBTUJSSURHRTwvZGl2PicpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYjViMjNhOWVjMzBjNDk1ZWJlNmY4ZGNkZjExMmU5NmIuc2V0Q29udGVudChodG1sXzA2MTE3YjAxZmIwMTRkNjA4ZDcwNmEyNjBkN2M4ZTYxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtYXJrZXJfZTU5ZmYyZTYyOWRmNDBmZjgyNWY2MGQ2ZDM3NWU3MWYuYmluZFBvcHVwKHBvcHVwX2I1YjIzYTllYzMwYzQ5NWViZTZmOGRjZGYxMTJlOTZiKTsKCiAgICAgICAgICAgIAogICAgICAgIAo8L3NjcmlwdD4= onload=\"this.contentDocument.open();this.contentDocument.write(atob(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
],
"text/plain": [
"<folium.folium.Map at 0x7fcdddf6b8d0>"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from folium import plugins\n",
"gg20_map = df_gg20y['2019'] \n",
"gg20_map = folium.Map(location = [latitude, longitude], zoom_start = 1)\n",
"\n",
"# apresentando as usinas em clusters\n",
"gg20 = plugins.MarkerCluster().add_to(gg20_map)\n",
"\n",
"\n",
"for lat, lng, label, in zip(df_gg20y.lat, df_gg20y.lng, df_gg20y.local):\n",
" folium.Marker(\n",
" location=[lat, lng],\n",
" icon=None,\n",
" popup=label,\n",
" ).add_to(gg20)\n",
"\n",
"\n",
"gg20_map"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"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>local</th>\n",
" <th>pais</th>\n",
" <th>tipo</th>\n",
" <th>on</th>\n",
" <th>lat</th>\n",
" <th>lng</th>\n",
" <th>2001</th>\n",
" <th>2002</th>\n",
" <th>2003</th>\n",
" <th>2004</th>\n",
" <th>...</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>2014</th>\n",
" <th>2015</th>\n",
" <th>2016</th>\n",
" <th>2017</th>\n",
" <th>2018</th>\n",
" <th>2019</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ACOMINAS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-20.54</td>\n",
" <td>-43.74</td>\n",
" <td>0</td>\n",
" <td>740</td>\n",
" <td>655</td>\n",
" <td>655</td>\n",
" <td>...</td>\n",
" <td>1070</td>\n",
" <td>1070</td>\n",
" <td>1070</td>\n",
" <td>2050</td>\n",
" <td>2026</td>\n",
" <td>2026</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>COSIGUA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-22.89</td>\n",
" <td>-43.75</td>\n",
" <td>1510</td>\n",
" <td>1510</td>\n",
" <td>1320</td>\n",
" <td>1320</td>\n",
" <td>...</td>\n",
" <td>1350</td>\n",
" <td>1350</td>\n",
" <td>1350</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>MIDLOTHIAN</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>32.46</td>\n",
" <td>-97.03</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1400</td>\n",
" <td>1400</td>\n",
" <td>1400</td>\n",
" <td>1449</td>\n",
" <td>1449</td>\n",
" <td>1449</td>\n",
" <td>1408</td>\n",
" <td>1411</td>\n",
" <td>1411</td>\n",
" <td>1411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>PINDA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-22.90</td>\n",
" <td>-45.35</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>910</td>\n",
" <td>910</td>\n",
" <td>690</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>WHITBY</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>43.86</td>\n",
" <td>-78.91</td>\n",
" <td>0</td>\n",
" <td>998</td>\n",
" <td>998</td>\n",
" <td>726</td>\n",
" <td>...</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>840</td>\n",
" <td>840</td>\n",
" <td>840</td>\n",
" <td>788</td>\n",
" <td>775</td>\n",
" <td>775</td>\n",
" <td>775</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>MONROE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>41.89</td>\n",
" <td>-83.36</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>690</td>\n",
" <td>690</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>CHARQUEADAS</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-29.96</td>\n",
" <td>-51.62</td>\n",
" <td>380</td>\n",
" <td>380</td>\n",
" <td>390</td>\n",
" <td>390</td>\n",
" <td>...</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>615</td>\n",
" <td>615</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>CARTESVILLE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>34.24</td>\n",
" <td>-84.80</td>\n",
" <td>0</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>581</td>\n",
" <td>...</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ARACARIGUAMA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-23.44</td>\n",
" <td>-47.09</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>PERU</td>\n",
" <td>Peru</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-9.06</td>\n",
" <td>-78.60</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>960</td>\n",
" <td>960</td>\n",
" <td>960</td>\n",
" <td>1020</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>FORTH SMITH</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>35.31</td>\n",
" <td>-94.37</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>463</td>\n",
" <td>463</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>RIOGRANDENSE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-29.81</td>\n",
" <td>-51.17</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>...</td>\n",
" <td>500</td>\n",
" <td>500</td>\n",
" <td>500</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>JACKSON</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>42.20</td>\n",
" <td>-84.36</td>\n",
" <td>499</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>...</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>467</td>\n",
" <td>494</td>\n",
" <td>494</td>\n",
" <td>494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>PETERSBURG</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>37.19</td>\n",
" <td>-77.45</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>700</td>\n",
" <td>700</td>\n",
" <td>562</td>\n",
" <td>476</td>\n",
" <td>476</td>\n",
" <td>476</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>DIVINOPOLIS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-20.15</td>\n",
" <td>-44.88</td>\n",
" <td>456</td>\n",
" <td>456</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>...</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>518</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>ST PAUL</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>44.89</td>\n",
" <td>-93.01</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>499</td>\n",
" <td>...</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>MEXICO</td>\n",
" <td>Mexico</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>19.63</td>\n",
" <td>-99.18</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>430</td>\n",
" <td>430</td>\n",
" <td>450</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>CHARLOTTE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>35.34</td>\n",
" <td>-80.83</td>\n",
" <td>363</td>\n",
" <td>363</td>\n",
" <td>363</td>\n",
" <td>318</td>\n",
" <td>...</td>\n",
" <td>330</td>\n",
" <td>330</td>\n",
" <td>330</td>\n",
" <td>325</td>\n",
" <td>325</td>\n",
" <td>325</td>\n",
" <td>281</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>CAMBRIDGE</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>43.37</td>\n",
" <td>-80.28</td>\n",
" <td>280</td>\n",
" <td>295</td>\n",
" <td>295</td>\n",
" <td>290</td>\n",
" <td>...</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>278</td>\n",
" <td>278</td>\n",
" <td>278</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>JACKSONMI</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>42.31</td>\n",
" <td>-84.43</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>255</td>\n",
" <td>255</td>\n",
" <td>280</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>MANITOBA</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>50.13</td>\n",
" <td>-96.91</td>\n",
" <td>300</td>\n",
" <td>299</td>\n",
" <td>299</td>\n",
" <td>327</td>\n",
" <td>...</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>282</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>MOGI</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-23.52</td>\n",
" <td>-46.16</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>ARGENTINA</td>\n",
" <td>Argentina</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-32.99</td>\n",
" <td>-60.75</td>\n",
" <td>75</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>250</td>\n",
" <td>255</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>WILTON</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>41.58</td>\n",
" <td>-91.05</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>295</td>\n",
" <td>...</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>345</td>\n",
" <td>245</td>\n",
" <td>245</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ACONORTE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-8.07</td>\n",
" <td>-34.98</td>\n",
" <td>270</td>\n",
" <td>270</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>...</td>\n",
" <td>160</td>\n",
" <td>160</td>\n",
" <td>160</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>BARAO COCAIS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-19.94</td>\n",
" <td>-43.48</td>\n",
" <td>198</td>\n",
" <td>198</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>...</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>VENEZUELA</td>\n",
" <td>Venezuela</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>10.20</td>\n",
" <td>-71.28</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>173</td>\n",
" <td>173</td>\n",
" <td>173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>CEARENSE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-3.85</td>\n",
" <td>-38.61</td>\n",
" <td>120</td>\n",
" <td>120</td>\n",
" <td>110</td>\n",
" <td>110</td>\n",
" <td>...</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>URUGUAI</td>\n",
" <td>Uruguay</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-34.81</td>\n",
" <td>-56.10</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>...</td>\n",
" <td>80</td>\n",
" <td>80</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>29 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" local pais tipo on lat lng 2001 2002 \\\n",
"0 ACOMINAS Brazil BF OB -20.54 -43.74 0 740 \n",
"3 COSIGUA Brazil EAF OB -22.89 -43.75 1510 1510 \n",
"31 MIDLOTHIAN United States of America EAF ON 32.46 -97.03 0 0 \n",
"11 PINDA Brazil EAF OE -22.90 -45.35 0 0 \n",
"33 WHITBY Canada EAF ON 43.86 -78.91 0 998 \n",
"13 MONROE United States of America EAF OE 41.89 -83.36 0 0 \n",
"12 CHARQUEADAS Brazil EAF OE -29.96 -51.62 380 380 \n",
"34 CARTESVILLE United States of America EAF ON 34.24 -84.80 0 544 \n",
"1 ARACARIGUAMA Brazil EAF OB -23.44 -47.09 0 0 \n",
"24 PERU Peru EAF OS -9.06 -78.60 0 0 \n",
"14 FORTH SMITH United States of America EAF OE 35.31 -94.37 0 0 \n",
"5 RIOGRANDENSE Brazil EAF OB -29.81 -51.17 470 470 \n",
"35 JACKSON United States of America EAF ON 42.20 -84.36 499 544 \n",
"32 PETERSBURG United States of America EAF ON 37.19 -77.45 0 0 \n",
"4 DIVINOPOLIS Brazil BF OB -20.15 -44.88 456 456 \n",
"36 ST PAUL United States of America EAF ON 44.89 -93.01 0 0 \n",
"30 MEXICO Mexico EAF ON 19.63 -99.18 0 0 \n",
"37 CHARLOTTE United States of America EAF ON 35.34 -80.83 363 363 \n",
"46 CAMBRIDGE Canada EAF ON 43.37 -80.28 280 295 \n",
"17 JACKSONMI United States of America EAF OE 42.31 -84.43 0 0 \n",
"38 MANITOBA Canada EAF ON 50.13 -96.91 300 299 \n",
"15 MOGI Brazil EAF OE -23.52 -46.16 0 0 \n",
"25 ARGENTINA Argentina EAF OS -32.99 -60.75 75 0 \n",
"39 WILTON United States of America EAF ON 41.58 -91.05 0 0 \n",
"7 ACONORTE Brazil EAF OB -8.07 -34.98 270 270 \n",
"6 BARAO COCAIS Brazil BF OB -19.94 -43.48 198 198 \n",
"26 VENEZUELA Venezuela EAF OS 10.20 -71.28 0 0 \n",
"8 CEARENSE Brazil EAF OB -3.85 -38.61 120 120 \n",
"27 URUGUAI Uruguay EAF OS -34.81 -56.10 72 72 \n",
"\n",
" 2003 2004 ... 2010 2011 2012 2013 2014 2015 2016 2017 2018 \\\n",
"0 655 655 ... 1070 1070 1070 2050 2026 2026 3126 3126 3126 \n",
"3 1320 1320 ... 1350 1350 1350 1414 1414 1414 1414 1414 1414 \n",
"31 0 0 ... 1400 1400 1400 1449 1449 1449 1408 1411 1411 \n",
"11 0 0 ... 910 910 690 1188 1188 1188 1188 1188 1188 \n",
"33 998 726 ... 730 730 730 840 840 840 788 775 775 \n",
"13 0 0 ... 490 490 490 490 490 490 490 490 690 \n",
"12 390 390 ... 470 470 465 465 465 465 465 465 615 \n",
"34 544 581 ... 580 580 580 580 580 580 580 610 610 \n",
"1 0 0 ... 610 610 610 600 600 600 600 600 600 \n",
"24 0 0 ... 960 960 960 1020 520 520 573 573 573 \n",
"14 0 0 ... 495 495 495 463 463 550 550 550 550 \n",
"5 400 400 ... 500 500 500 495 495 495 495 495 495 \n",
"35 544 544 ... 540 540 540 540 540 540 467 494 494 \n",
"32 0 0 ... 1000 1000 1000 1000 700 700 562 476 476 \n",
"4 550 550 ... 520 520 520 518 460 460 460 460 460 \n",
"36 0 499 ... 420 420 420 420 420 420 420 455 455 \n",
"30 0 0 ... 430 430 450 400 400 400 400 400 400 \n",
"37 363 318 ... 330 330 330 325 325 325 281 316 316 \n",
"46 295 290 ... 290 290 290 290 290 290 290 278 278 \n",
"17 0 0 ... 255 255 280 276 276 276 276 276 276 \n",
"38 299 327 ... 360 360 360 360 360 360 282 271 271 \n",
"15 0 0 ... 0 0 200 200 264 264 264 264 264 \n",
"25 0 0 ... 240 240 250 255 263 263 263 263 263 \n",
"39 0 295 ... 320 320 320 320 320 320 320 345 245 \n",
"7 240 240 ... 160 160 160 242 242 242 242 242 242 \n",
"6 200 200 ... 200 200 200 196 196 196 196 196 196 \n",
"26 0 0 ... 200 200 200 170 170 170 170 173 173 \n",
"8 110 110 ... 240 240 240 161 161 161 161 161 161 \n",
"27 72 72 ... 80 80 90 90 90 90 90 90 90 \n",
"\n",
" 2019 \n",
"0 3126 \n",
"3 1414 \n",
"31 1411 \n",
"11 1188 \n",
"33 775 \n",
"13 690 \n",
"12 615 \n",
"34 610 \n",
"1 600 \n",
"24 573 \n",
"14 550 \n",
"5 495 \n",
"35 494 \n",
"32 476 \n",
"4 460 \n",
"36 455 \n",
"30 400 \n",
"37 316 \n",
"46 278 \n",
"17 276 \n",
"38 271 \n",
"15 264 \n",
"25 263 \n",
"39 245 \n",
"7 242 \n",
"6 196 \n",
"26 173 \n",
"8 161 \n",
"27 90 \n",
"\n",
"[29 rows x 25 columns]"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_gg20y.sort_values(by='2019', ascending=False)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"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>local</th>\n",
" <th>pais</th>\n",
" <th>tipo</th>\n",
" <th>on</th>\n",
" <th>lat</th>\n",
" <th>lng</th>\n",
" <th>2001</th>\n",
" <th>2002</th>\n",
" <th>2003</th>\n",
" <th>2004</th>\n",
" <th>...</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>2014</th>\n",
" <th>2015</th>\n",
" <th>2016</th>\n",
" <th>2017</th>\n",
" <th>2018</th>\n",
" <th>2019</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>ACOMINAS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-20.54</td>\n",
" <td>-43.74</td>\n",
" <td>0</td>\n",
" <td>740</td>\n",
" <td>655</td>\n",
" <td>655</td>\n",
" <td>...</td>\n",
" <td>1070</td>\n",
" <td>1070</td>\n",
" <td>1070</td>\n",
" <td>2050</td>\n",
" <td>2026</td>\n",
" <td>2026</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" <td>3126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ARACARIGUAMA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-23.44</td>\n",
" <td>-47.09</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" <td>600</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>COSIGUA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-22.89</td>\n",
" <td>-43.75</td>\n",
" <td>1510</td>\n",
" <td>1510</td>\n",
" <td>1320</td>\n",
" <td>1320</td>\n",
" <td>...</td>\n",
" <td>1350</td>\n",
" <td>1350</td>\n",
" <td>1350</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" <td>1414</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>DIVINOPOLIS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-20.15</td>\n",
" <td>-44.88</td>\n",
" <td>456</td>\n",
" <td>456</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>...</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>518</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" <td>460</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>RIOGRANDENSE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-29.81</td>\n",
" <td>-51.17</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>...</td>\n",
" <td>500</td>\n",
" <td>500</td>\n",
" <td>500</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>BARAO COCAIS</td>\n",
" <td>Brazil</td>\n",
" <td>BF</td>\n",
" <td>OB</td>\n",
" <td>-19.94</td>\n",
" <td>-43.48</td>\n",
" <td>198</td>\n",
" <td>198</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>...</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ACONORTE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-8.07</td>\n",
" <td>-34.98</td>\n",
" <td>270</td>\n",
" <td>270</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>...</td>\n",
" <td>160</td>\n",
" <td>160</td>\n",
" <td>160</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" <td>242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>CEARENSE</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OB</td>\n",
" <td>-3.85</td>\n",
" <td>-38.61</td>\n",
" <td>120</td>\n",
" <td>120</td>\n",
" <td>110</td>\n",
" <td>110</td>\n",
" <td>...</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>JACKSONMI</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>42.31</td>\n",
" <td>-84.43</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>255</td>\n",
" <td>255</td>\n",
" <td>280</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" <td>276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>MOGI</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-23.52</td>\n",
" <td>-46.16</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" <td>264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>FORTH SMITH</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>35.31</td>\n",
" <td>-94.37</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>495</td>\n",
" <td>463</td>\n",
" <td>463</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" <td>550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>CHARQUEADAS</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-29.96</td>\n",
" <td>-51.62</td>\n",
" <td>380</td>\n",
" <td>380</td>\n",
" <td>390</td>\n",
" <td>390</td>\n",
" <td>...</td>\n",
" <td>470</td>\n",
" <td>470</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>465</td>\n",
" <td>615</td>\n",
" <td>615</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>PINDA</td>\n",
" <td>Brazil</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>-22.90</td>\n",
" <td>-45.35</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>910</td>\n",
" <td>910</td>\n",
" <td>690</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" <td>1188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>MONROE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>OE</td>\n",
" <td>41.89</td>\n",
" <td>-83.36</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>490</td>\n",
" <td>690</td>\n",
" <td>690</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>CARTESVILLE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>34.24</td>\n",
" <td>-84.80</td>\n",
" <td>0</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>581</td>\n",
" <td>...</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>580</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" <td>610</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>MANITOBA</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>50.13</td>\n",
" <td>-96.91</td>\n",
" <td>300</td>\n",
" <td>299</td>\n",
" <td>299</td>\n",
" <td>327</td>\n",
" <td>...</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>360</td>\n",
" <td>282</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" <td>271</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>CHARLOTTE</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>35.34</td>\n",
" <td>-80.83</td>\n",
" <td>363</td>\n",
" <td>363</td>\n",
" <td>363</td>\n",
" <td>318</td>\n",
" <td>...</td>\n",
" <td>330</td>\n",
" <td>330</td>\n",
" <td>330</td>\n",
" <td>325</td>\n",
" <td>325</td>\n",
" <td>325</td>\n",
" <td>281</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" <td>316</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>ST PAUL</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>44.89</td>\n",
" <td>-93.01</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>499</td>\n",
" <td>...</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>420</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" <td>455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>JACKSON</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>42.20</td>\n",
" <td>-84.36</td>\n",
" <td>499</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>544</td>\n",
" <td>...</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>540</td>\n",
" <td>467</td>\n",
" <td>494</td>\n",
" <td>494</td>\n",
" <td>494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>WHITBY</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>43.86</td>\n",
" <td>-78.91</td>\n",
" <td>0</td>\n",
" <td>998</td>\n",
" <td>998</td>\n",
" <td>726</td>\n",
" <td>...</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>730</td>\n",
" <td>840</td>\n",
" <td>840</td>\n",
" <td>840</td>\n",
" <td>788</td>\n",
" <td>775</td>\n",
" <td>775</td>\n",
" <td>775</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>CAMBRIDGE</td>\n",
" <td>Canada</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>43.37</td>\n",
" <td>-80.28</td>\n",
" <td>280</td>\n",
" <td>295</td>\n",
" <td>295</td>\n",
" <td>290</td>\n",
" <td>...</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>290</td>\n",
" <td>278</td>\n",
" <td>278</td>\n",
" <td>278</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>MIDLOTHIAN</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>32.46</td>\n",
" <td>-97.03</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1400</td>\n",
" <td>1400</td>\n",
" <td>1400</td>\n",
" <td>1449</td>\n",
" <td>1449</td>\n",
" <td>1449</td>\n",
" <td>1408</td>\n",
" <td>1411</td>\n",
" <td>1411</td>\n",
" <td>1411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>MEXICO</td>\n",
" <td>Mexico</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>19.63</td>\n",
" <td>-99.18</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>430</td>\n",
" <td>430</td>\n",
" <td>450</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" <td>400</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>WILTON</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>41.58</td>\n",
" <td>-91.05</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>295</td>\n",
" <td>...</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>320</td>\n",
" <td>345</td>\n",
" <td>245</td>\n",
" <td>245</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>PETERSBURG</td>\n",
" <td>United States of America</td>\n",
" <td>EAF</td>\n",
" <td>ON</td>\n",
" <td>37.19</td>\n",
" <td>-77.45</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>1000</td>\n",
" <td>700</td>\n",
" <td>700</td>\n",
" <td>562</td>\n",
" <td>476</td>\n",
" <td>476</td>\n",
" <td>476</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>URUGUAI</td>\n",
" <td>Uruguay</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-34.81</td>\n",
" <td>-56.10</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>...</td>\n",
" <td>80</td>\n",
" <td>80</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>VENEZUELA</td>\n",
" <td>Venezuela</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>10.20</td>\n",
" <td>-71.28</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>200</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>170</td>\n",
" <td>173</td>\n",
" <td>173</td>\n",
" <td>173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>ARGENTINA</td>\n",
" <td>Argentina</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-32.99</td>\n",
" <td>-60.75</td>\n",
" <td>75</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>240</td>\n",
" <td>240</td>\n",
" <td>250</td>\n",
" <td>255</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" <td>263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>PERU</td>\n",
" <td>Peru</td>\n",
" <td>EAF</td>\n",
" <td>OS</td>\n",
" <td>-9.06</td>\n",
" <td>-78.60</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>960</td>\n",
" <td>960</td>\n",
" <td>960</td>\n",
" <td>1020</td>\n",
" <td>520</td>\n",
" <td>520</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" <td>573</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>29 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" local pais tipo on lat lng 2001 2002 \\\n",
"0 ACOMINAS Brazil BF OB -20.54 -43.74 0 740 \n",
"1 ARACARIGUAMA Brazil EAF OB -23.44 -47.09 0 0 \n",
"3 COSIGUA Brazil EAF OB -22.89 -43.75 1510 1510 \n",
"4 DIVINOPOLIS Brazil BF OB -20.15 -44.88 456 456 \n",
"5 RIOGRANDENSE Brazil EAF OB -29.81 -51.17 470 470 \n",
"6 BARAO COCAIS Brazil BF OB -19.94 -43.48 198 198 \n",
"7 ACONORTE Brazil EAF OB -8.07 -34.98 270 270 \n",
"8 CEARENSE Brazil EAF OB -3.85 -38.61 120 120 \n",
"17 JACKSONMI United States of America EAF OE 42.31 -84.43 0 0 \n",
"15 MOGI Brazil EAF OE -23.52 -46.16 0 0 \n",
"14 FORTH SMITH United States of America EAF OE 35.31 -94.37 0 0 \n",
"12 CHARQUEADAS Brazil EAF OE -29.96 -51.62 380 380 \n",
"11 PINDA Brazil EAF OE -22.90 -45.35 0 0 \n",
"13 MONROE United States of America EAF OE 41.89 -83.36 0 0 \n",
"34 CARTESVILLE United States of America EAF ON 34.24 -84.80 0 544 \n",
"38 MANITOBA Canada EAF ON 50.13 -96.91 300 299 \n",
"37 CHARLOTTE United States of America EAF ON 35.34 -80.83 363 363 \n",
"36 ST PAUL United States of America EAF ON 44.89 -93.01 0 0 \n",
"35 JACKSON United States of America EAF ON 42.20 -84.36 499 544 \n",
"33 WHITBY Canada EAF ON 43.86 -78.91 0 998 \n",
"46 CAMBRIDGE Canada EAF ON 43.37 -80.28 280 295 \n",
"31 MIDLOTHIAN United States of America EAF ON 32.46 -97.03 0 0 \n",
"30 MEXICO Mexico EAF ON 19.63 -99.18 0 0 \n",
"39 WILTON United States of America EAF ON 41.58 -91.05 0 0 \n",
"32 PETERSBURG United States of America EAF ON 37.19 -77.45 0 0 \n",
"27 URUGUAI Uruguay EAF OS -34.81 -56.10 72 72 \n",
"26 VENEZUELA Venezuela EAF OS 10.20 -71.28 0 0 \n",
"25 ARGENTINA Argentina EAF OS -32.99 -60.75 75 0 \n",
"24 PERU Peru EAF OS -9.06 -78.60 0 0 \n",
"\n",
" 2003 2004 ... 2010 2011 2012 2013 2014 2015 2016 2017 2018 \\\n",
"0 655 655 ... 1070 1070 1070 2050 2026 2026 3126 3126 3126 \n",
"1 0 0 ... 610 610 610 600 600 600 600 600 600 \n",
"3 1320 1320 ... 1350 1350 1350 1414 1414 1414 1414 1414 1414 \n",
"4 550 550 ... 520 520 520 518 460 460 460 460 460 \n",
"5 400 400 ... 500 500 500 495 495 495 495 495 495 \n",
"6 200 200 ... 200 200 200 196 196 196 196 196 196 \n",
"7 240 240 ... 160 160 160 242 242 242 242 242 242 \n",
"8 110 110 ... 240 240 240 161 161 161 161 161 161 \n",
"17 0 0 ... 255 255 280 276 276 276 276 276 276 \n",
"15 0 0 ... 0 0 200 200 264 264 264 264 264 \n",
"14 0 0 ... 495 495 495 463 463 550 550 550 550 \n",
"12 390 390 ... 470 470 465 465 465 465 465 465 615 \n",
"11 0 0 ... 910 910 690 1188 1188 1188 1188 1188 1188 \n",
"13 0 0 ... 490 490 490 490 490 490 490 490 690 \n",
"34 544 581 ... 580 580 580 580 580 580 580 610 610 \n",
"38 299 327 ... 360 360 360 360 360 360 282 271 271 \n",
"37 363 318 ... 330 330 330 325 325 325 281 316 316 \n",
"36 0 499 ... 420 420 420 420 420 420 420 455 455 \n",
"35 544 544 ... 540 540 540 540 540 540 467 494 494 \n",
"33 998 726 ... 730 730 730 840 840 840 788 775 775 \n",
"46 295 290 ... 290 290 290 290 290 290 290 278 278 \n",
"31 0 0 ... 1400 1400 1400 1449 1449 1449 1408 1411 1411 \n",
"30 0 0 ... 430 430 450 400 400 400 400 400 400 \n",
"39 0 295 ... 320 320 320 320 320 320 320 345 245 \n",
"32 0 0 ... 1000 1000 1000 1000 700 700 562 476 476 \n",
"27 72 72 ... 80 80 90 90 90 90 90 90 90 \n",
"26 0 0 ... 200 200 200 170 170 170 170 173 173 \n",
"25 0 0 ... 240 240 250 255 263 263 263 263 263 \n",
"24 0 0 ... 960 960 960 1020 520 520 573 573 573 \n",
"\n",
" 2019 \n",
"0 3126 \n",
"1 600 \n",
"3 1414 \n",
"4 460 \n",
"5 495 \n",
"6 196 \n",
"7 242 \n",
"8 161 \n",
"17 276 \n",
"15 264 \n",
"14 550 \n",
"12 615 \n",
"11 1188 \n",
"13 690 \n",
"34 610 \n",
"38 271 \n",
"37 316 \n",
"36 455 \n",
"35 494 \n",
"33 775 \n",
"46 278 \n",
"31 1411 \n",
"30 400 \n",
"39 245 \n",
"32 476 \n",
"27 90 \n",
"26 173 \n",
"25 263 \n",
"24 573 \n",
"\n",
"[29 rows x 25 columns]"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_gg20y.sort_values(by='on')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment