{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "K54vei1zx9xr" }, "source": [ "# Pandas " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "gfTvCzeXxbTz" }, "source": [ "* [Pandas Get started Documentation](https://pandas.pydata.org/pandas-docs/stable/getting_started/index.html#getting-started)\n", "* [Pandas Cheet Sheet](https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf)\n", "* [Dataset italia covid 19](https://github.com/pcm-dpc/COVID-19)\n", "* [Dataset mondo covid 19](https://github.com/open-covid-19/data)\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "SpAny5V06fM1" }, "source": [ "## Comandi base pip packet manager" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* [Guida ai comandi PIP](https://pypi.org/project/pip/)\n", "* [Pip User Guide](https://pip.pypa.io/en/stable/user_guide/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "colab_type": "code", "id": "slEAie-TzADU", "outputId": "201a9e36-3278-4860-8c3f-f3ca2f7d0f3d" }, "outputs": [], "source": [ "%%capture \n", "# %%capture Nasconde l'output delle instruzioni\n", "\n", "# Elencare tutti i pacchetti installati\n", "!pip list\n", "\n", "# Mostrare tutti i pacchetti che contengono nel nome la parola \"tensorflow\"\n", "!pip list | grep tensorflow\n", "\n", "# Installare delle librerie specificando il nome\n", "!pip install pandas matplotlib names xlrd openpyxl\n", "\n", "# Cercare la libreria (pacchetto) chiamata \"names\"\n", "!pip search names\n", "\n", "# Installare la libreria \"names\"\n", "!pip install names \n", "\n", "# Disinstallare la libreria \"names\" e controllare che non è installata\n", "!pip uninstall -y names \n", "!pip list | grep names\n", "\n", "# Installare la libreria names e controllare che è installata\n", "!pip install names\n", "!pip list | grep names\n", "\n", "# Scrivi sul file \"requirements.txt\" tutte le librie che sto utilizzando\n", "!pip freeze > requirements.txt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%%capture\n", "!pip install pandas" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Esempio n.1: Creazione statica di un dataframe" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In questo primo esempio andremo a creare un dataframe inserendo manualmente il contenuto di ogni colonna. È importate sottolineare che i dataframe in python sono oggetti chiamati dizionari che si basano sulla logica chiave - valore. Infatti per accedere a una colonna (valore) della tabella del nostro dataframe è necessario specificare il nome della colonna (chiave)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installare e importare la libreria Pandas" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": {}, "colab_type": "code", "id": "AcCZSCXCy8iJ" }, "outputs": [], "source": [ "# Importare la libreria pandas come pd\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creazione di un dataframe " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 766 }, "colab_type": "code", "id": "E17w0Bwh1HKr", "outputId": "9ee0706a-4743-49d0-f6a8-1478891fbbb8" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
0Amadesi ElenaLaurea in Direzione AziendaleMac
1Buscemi DanielaLaurea in Lingue Moderne per la cooperazione i...Windows
2Cantini NicolòLaurea in Relazioni InternazionaliWindows
3Carta LucaLaurea in Geografia e processi territorialiWindows
4Cortès Rocìo BeatrizLaurea in AstronomiaMac
\n", "
" ], "text/plain": [ " Nome Laurea \\\n", "0 Amadesi Elena Laurea in Direzione Aziendale \n", "1 Buscemi Daniela Laurea in Lingue Moderne per la cooperazione i... \n", "2 Cantini Nicolò Laurea in Relazioni Internazionali \n", "3 Carta Luca Laurea in Geografia e processi territoriali \n", "4 Cortès Rocìo Beatriz Laurea in Astronomia \n", "\n", " PC \n", "0 Mac \n", "1 Windows \n", "2 Windows \n", "3 Windows \n", "4 Mac " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Creazione di un Dataframe in cui dati vengono inseriti a mano\n", "# Datafrane (dict-like container for Series Object)\n", "# Each column of a dataframe is a Series\n", "content = {\n", " \"Nome\" : [\n", " \"Amadesi Elena\", \t \t\n", " \"Buscemi Daniela\",\t \t\n", " \"Cantini Nicolò\",\t\n", " \"Carta Luca\", \t\n", " \"Cortès Rocìo Beatriz\",\n", " \"Cremonini Gian Marco\",\n", " \"Crescenzi Francesca\", \t\t\n", " \"Del Magno Saverio\", \t \t\n", " \"Di Tanna Luca\",\t \t\n", " \"Fresu Arianna\",\t\t \n", " \"Hagi Marwa\",\t \t\n", " \"Lesiv Nadiya\",\t \t\n", " \"Losi Lorenzo\", \t \t\n", " \"Magazzino Sara\", \t\n", " \"Matti Caterina\", \t \t\n", " \"Mediatore Emanuele\", \t \t\n", " \"Miletta Giorgia\", \t\t\n", " \"Morena Chiara\", \t\t\n", " \"Paladino Emma\",\t\t\n", " \"Peruzzi Orso\", \t\t\n", " \"Pilia Nicola\", \t\t\n", " \"Romano Francesca\", \t \t\n", " \"Rotaru Ilona\",\t \t \n", " \"Tacconi Francesco\", \t\t\n", " \"Teleianu Maria Andreea\"\n", " ],\t\t\n", " \"Laurea\" : [\n", " \"Laurea in Direzione Aziendale\",\n", " \"Laurea in Lingue Moderne per la cooperazione internazonale\",\n", " \"Laurea in Relazioni Internazionali\",\n", " \"Laurea in Geografia e processi territoriali\",\n", " \"Laurea in Astronomia\",\n", " \"Laurea in Direzione Aziendale\",\n", " \"Laurea in Management\",\n", " \"Laurea in Comunicazione per l'Impresa i Media e le organizzazioni complesse\",\n", " \"Laurea in Ingegneria Gestionale\",\n", " \"Laurea in Relazioni Internazionali\",\n", " \"Laurea in Relazioni Internazionali\",\n", " \"Laurea in Economia Mercati e Istituzioni\",\n", " \"Laurea in Ingegneria Ambientale\",\n", " \"Laurea in Scienze Naturali\",\n", " \"Laurea in mediazione Linguistica Interculturale\",\n", " \"Laurea in Giurisprudenza\",\n", " \"Laurea in Tourism Economics and Management\",\n", " \"Laurea in Scienze e Tecnologie Agrarie\",\n", " \"Laurea in Economia e Politica Economica\",\n", " \"Laurea in Astronomia\",\n", " \"Laurea in Economia e Gestione delle Imprese\",\n", " \"Laurea in Ingegneria Elettronica\",\n", " \"Laurea in Astronomia\",\n", " \"Laurea in Design del profotto Industriale\",\n", " \"Laurea in Scienze Statistiche\"\n", " ],\n", " \"PC\": \n", " [\n", " \"Mac\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Mac\",\n", " \"Windows7\",\n", " \"Windows\",\n", " \"Mac\",\n", " \"Windows\",\n", " \"Mac\",\n", " \"Mac\",\n", " \"Mac\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\",\n", " \"Windows\" \n", " ]\n", "}\n", " \n", "content2 ={\n", " \"Nome\": [\"Manuel\", \"Giada\", \"Marco\", \"Francesca\"],\n", " \"Età\" : [\"26\", \"25\", \"28\", \"29\"],\n", " \"Sesso\": [\"M\", \"F\", \"M\", \"F\"]\n", "}\n", "\n", "df = pd.DataFrame(content) #index=[4,5,6,7] )\n", "#display(df)\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Estrarre informazioni sui tipi dati contenuti nella tabella" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 87 }, "colab_type": "code", "id": "mf_bT4L2L_dO", "outputId": "3353578f-9953-4835-bf46-c600accc8cbf" }, "outputs": [ { "data": { "text/plain": [ "Nome object\n", "Laurea object\n", "PC object\n", "dtype: object" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.dtypes" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 192 }, "colab_type": "code", "id": "p7rmwZBMMenH", "outputId": "7c3a8955-215a-4650-8135-8dfb983c8e46" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 25 entries, 0 to 24\n", "Data columns (total 3 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Nome 25 non-null object\n", " 1 Laurea 25 non-null object\n", " 2 PC 25 non-null object\n", "dtypes: object(3)\n", "memory usage: 728.0+ bytes\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Estrarre il nome di tutte le colonne" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 70 }, "colab_type": "code", "id": "E62dcd7hA6tB", "outputId": "45ec92ab-0bc2-4649-df9e-f56db960c00f" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Nome\n", "Laurea\n", "PC\n" ] } ], "source": [ "df.keys()\n", "for name in df.keys():\n", " print(name) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Estrarre il contenuto dello tabella come array e stampare la dimensione di esso" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 770 }, "colab_type": "code", "id": "2G576ooPH0-3", "outputId": "febf800b-8960-448e-b219-b6d9a677fe92" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dimensione della tabella: (25, 3)\n", "Valore riga 1, colonna 0: Buscemi Daniela\n" ] } ], "source": [ "arr = df.values # contenuto della tabella\n", "#display(arr)\n", "print(\"Dimensione della tabella: \", arr.shape)\n", "print(\"Valore riga 1, colonna 0: \" ,arr[1,0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creare una nuova tabella chiamata df_small che contiene le prime 4 righe " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "colab_type": "code", "id": "4QEgGVdQEpWl", "outputId": "e246deba-2bc7-4e60-f58b-b67cb485ec19" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
0Amadesi ElenaLaurea in Direzione AziendaleMac
1Buscemi DanielaLaurea in Lingue Moderne per la cooperazione i...Windows
2Cantini NicolòLaurea in Relazioni InternazionaliWindows
3Carta LucaLaurea in Geografia e processi territorialiWindows
\n", "
" ], "text/plain": [ " Nome Laurea PC\n", "0 Amadesi Elena Laurea in Direzione Aziendale Mac\n", "1 Buscemi Daniela Laurea in Lingue Moderne per la cooperazione i... Windows\n", "2 Cantini Nicolò Laurea in Relazioni Internazionali Windows\n", "3 Carta Luca Laurea in Geografia e processi territoriali Windows" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_small = df.head(4)\n", "df_small" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creare una nuova tabella chiamata df_small che contiene le ultime 4 righe " ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "colab_type": "code", "id": "UJxrR6k5E5bb", "outputId": "39304ac1-b519-4cd8-d328-f3ad4fbaec4f" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows
22Rotaru IlonaLaurea in AstronomiaWindows
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows
\n", "
" ], "text/plain": [ " Nome Laurea PC\n", "21 Romano Francesca Laurea in Ingegneria Elettronica Windows\n", "22 Rotaru Ilona Laurea in Astronomia Windows\n", "23 Tacconi Francesco Laurea in Design del profotto Industriale Windows\n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche Windows" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_small = df.tail(4)\n", "df_small" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Selezionare colonne" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows
22Rotaru IlonaLaurea in AstronomiaWindows
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows
\n", "
" ], "text/plain": [ " Nome Laurea PC\n", "21 Romano Francesca Laurea in Ingegneria Elettronica Windows\n", "22 Rotaru Ilona Laurea in Astronomia Windows\n", "23 Tacconi Francesco Laurea in Design del profotto Industriale Windows\n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche Windows" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaurea
21Romano FrancescaLaurea in Ingegneria Elettronica
22Rotaru IlonaLaurea in Astronomia
23Tacconi FrancescoLaurea in Design del profotto Industriale
24Teleianu Maria AndreeaLaurea in Scienze Statistiche
\n", "
" ], "text/plain": [ " Nome Laurea\n", "21 Romano Francesca Laurea in Ingegneria Elettronica\n", "22 Rotaru Ilona Laurea in Astronomia\n", "23 Tacconi Francesco Laurea in Design del profotto Industriale\n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomePC
21Romano FrancescaWindows
22Rotaru IlonaWindows
23Tacconi FrancescoWindows
24Teleianu Maria AndreeaWindows
\n", "
" ], "text/plain": [ " Nome PC\n", "21 Romano Francesca Windows\n", "22 Rotaru Ilona Windows\n", "23 Tacconi Francesco Windows\n", "24 Teleianu Maria Andreea Windows" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomePC
23Tacconi FrancescoWindows
24Teleianu Maria AndreeaWindows
\n", "
" ], "text/plain": [ " Nome PC\n", "23 Tacconi Francesco Windows\n", "24 Teleianu Maria Andreea Windows" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Stampare tabella\n", "display(df_small)\n", "\n", "# Selezionare colonna Nome\n", "#df_small[\"Nome\"]\n", "\n", "# Selezionare colonne Nome e Laurea\n", "display(df_small[[\"Nome\",\"Laurea\"]])\n", "\n", "# Selezionare tutte le colonne numero 0 e 2\n", "display(df_small.iloc[:,[0,2]])\n", "\n", "# Selezionare da riga 2,a 4 delle colonne numero 0 e 2\n", "display(df_small.iloc[2:4,[0,2]]) # 2:4 è uguale a 2,3\n", "#display(df_small.iloc[[2,3],[0,2]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Selezionare righe" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows
22Rotaru IlonaLaurea in AstronomiaWindows
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows
\n", "
" ], "text/plain": [ " Nome Laurea PC\n", "21 Romano Francesca Laurea in Ingegneria Elettronica Windows\n", "22 Rotaru Ilona Laurea in Astronomia Windows\n", "23 Tacconi Francesco Laurea in Design del profotto Industriale Windows\n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche Windows" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomePC
22Rotaru IlonaWindows
\n", "
" ], "text/plain": [ " Nome PC\n", "22 Rotaru Ilona Windows" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows
\n", "
" ], "text/plain": [ " Nome Laurea PC\n", "21 Romano Francesca Laurea in Ingegneria Elettronica Windows\n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche Windows" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Stampare tabella\n", "display(df_small)\n", "\n", "# Selezionare i valori nella Riga 1 e colonne 0 e 2\n", "display(df_small.iloc[[1],[0,2]])\n", "\n", "# Selezionare tutta le righe 0 e 3\n", "display(df_small.iloc[[0,3],:])\n", "#df_small.iloc[[0,3]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Aggiungere una nuova colonna " ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "colab_type": "code", "id": "5BaQ8VZ_hUv-", "outputId": "8fab9d79-2698-403c-8677-f46c2eab2ecf" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPCEtà
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows26
22Rotaru IlonaLaurea in AstronomiaWindows27
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows28
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows26
\n", "
" ], "text/plain": [ " Nome Laurea \\\n", "21 Romano Francesca Laurea in Ingegneria Elettronica \n", "22 Rotaru Ilona Laurea in Astronomia \n", "23 Tacconi Francesco Laurea in Design del profotto Industriale \n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche \n", "\n", " PC Età \n", "21 Windows 26 \n", "22 Windows 27 \n", "23 Windows 28 \n", "24 Windows 26 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#df_small['Età'] = [26,27,28,26]\n", "df_small.insert(3, \"Età\", [26, 27, 28, 26]) \n", "#df_small = df_small.assign(eta = [26, 27, 28, 26]) \n", "df_small" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Rimuovere colonne" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "colab_type": "code", "id": "xHFjb3Zeh3g1", "outputId": "3492920f-809e-447d-e908-356a8d48296e" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaurea
21Romano FrancescaLaurea in Ingegneria Elettronica
22Rotaru IlonaLaurea in Astronomia
23Tacconi FrancescoLaurea in Design del profotto Industriale
24Teleianu Maria AndreeaLaurea in Scienze Statistiche
\n", "
" ], "text/plain": [ " Nome Laurea\n", "21 Romano Francesca Laurea in Ingegneria Elettronica\n", "22 Rotaru Ilona Laurea in Astronomia\n", "23 Tacconi Francesco Laurea in Design del profotto Industriale\n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#df_small.drop(['Laurea', 'Sesso'], axis=1)\n", "#df_small_new = df_small.drop(columns=['PC', 'Età']) # inplace=True) # inplace permetter l'assegmamento automatico\n", "df_small.drop(columns=['PC', 'Età']) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Rimuovere righe" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 105 }, "colab_type": "code", "id": "3c4_6kOkiadG", "outputId": "d5fde751-656f-43ff-9e08-06f6793b7caf" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPCEtà
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows26
22Rotaru IlonaLaurea in AstronomiaWindows27
\n", "
" ], "text/plain": [ " Nome Laurea PC Età\n", "21 Romano Francesca Laurea in Ingegneria Elettronica Windows 26\n", "22 Rotaru Ilona Laurea in Astronomia Windows 27" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# rimuove riga 23 e 24 (in base all'enumerazione dell indice)\n", "df_small.drop([23, 24]) # inplace=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ordinare una tabella" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "colab_type": "code", "id": "09KATU7IIQcA", "outputId": "5fd26510-8a11-4529-d336-ec4192a5bd07" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPCEtà
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows26
22Rotaru IlonaLaurea in AstronomiaWindows27
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows28
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows26
\n", "
" ], "text/plain": [ " Nome Laurea \\\n", "21 Romano Francesca Laurea in Ingegneria Elettronica \n", "22 Rotaru Ilona Laurea in Astronomia \n", "23 Tacconi Francesco Laurea in Design del profotto Industriale \n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche \n", "\n", " PC Età \n", "21 Windows 26 \n", "22 Windows 27 \n", "23 Windows 28 \n", "24 Windows 26 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Facciamo un display della tabella iniziale\n", "df_small\n", "# display(df_small)\n", "# print(df_small)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 307 }, "colab_type": "code", "id": "AJgELIiU2hff", "outputId": "6a2de596-256c-4c5c-93f4-29fdca6e40fa" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPCEtà
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows26
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows26
22Rotaru IlonaLaurea in AstronomiaWindows27
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows28
\n", "
" ], "text/plain": [ " Nome Laurea \\\n", "21 Romano Francesca Laurea in Ingegneria Elettronica \n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche \n", "22 Rotaru Ilona Laurea in Astronomia \n", "23 Tacconi Francesco Laurea in Design del profotto Industriale \n", "\n", " PC Età \n", "21 Windows 26 \n", "24 Windows 26 \n", "22 Windows 27 \n", "23 Windows 28 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ordinamento della tabella guardando alla colonna Età dal piu piccolo al piu grande\n", "df_sorted = df_small.sort_values(by=\"Età\", ascending=True)\n", "display(df_sorted.head())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Resettare gli indici (righe) della tabella" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
indexNomeLaureaPCEtà
021Romano FrancescaLaurea in Ingegneria ElettronicaWindows26
124Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows26
222Rotaru IlonaLaurea in AstronomiaWindows27
323Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows28
\n", "
" ], "text/plain": [ " index Nome Laurea \\\n", "0 21 Romano Francesca Laurea in Ingegneria Elettronica \n", "1 24 Teleianu Maria Andreea Laurea in Scienze Statistiche \n", "2 22 Rotaru Ilona Laurea in Astronomia \n", "3 23 Tacconi Francesco Laurea in Design del profotto Industriale \n", "\n", " PC Età \n", "0 Windows 26 \n", "1 Windows 26 \n", "2 Windows 27 \n", "3 Windows 28 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Reset dell indice da 0 a N\n", "df_sorted = df_sorted.reset_index()\n", "display(df_sorted.head())" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "yql6fEKeJU1D" }, "source": [ "## Esempio n.2 : Creazione dinamica di un dataframe" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In questo esempio andremo a creare programmaticamente (usando codice python) un dataframe. Per fare ciñ utilizzeremo la libreria **names** che genera randomicamente dei nomi e dei cognomi." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installare e importare le librerie" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "%%capture\n", "# installare le librerie names e numpy\n", "!pip install names numpy pandas" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "colab": {}, "colab_type": "code", "id": "3JVxdhsX6fdb" }, "outputs": [], "source": [ "# Importare le librerie\n", "import names\n", "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creare una lista di nomi,di cognomi ed età in modo automatico" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "colab_type": "code", "id": "_p8kbqeo6Z1t", "outputId": "3577fb05-b347-48d0-bd59-6efc69201448" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Lawrence', 'Michael', 'Lauren', 'Mary', 'Jean', 'Pamela', 'Sara', 'Freddie', 'Brandie', 'Kathleen', 'William', 'Susan', 'Dustin', 'Charles', 'Candy', 'Randall', 'William', 'Heather', 'Ralph', 'Molly', 'Len', 'Claude', 'Robert', 'Kimberly', 'Maurice', 'Megan', 'Betty', 'Mary', 'Stephanie', 'James']\n", "--------\n", "--------\n", "['Ortiz', 'Lackey', 'Cole', 'Wiley', 'Eby', 'Mills', 'Lund', 'Shiels', 'Greenfield', 'Steiner', 'Mitchell', 'Arnold', 'Terry', 'Mcclain', 'Thompson', 'Dunston', 'Harbison', 'Taylor', 'Dick', 'Fortman', 'Vess', 'Brown', 'Blazek', 'Zimmerman', 'Jones', 'Curran', 'Reed', 'Pedro', 'Tryon', 'Couch']\n", "--------\n", "--------\n", "[20, 27, 27, 27, 29, 24, 25, 25, 22, 22, 25, 24, 22, 27, 20, 26, 23, 29, 22, 28, 23, 26, 23, 22, 29, 26, 21, 21, 24, 29]\n" ] } ], "source": [ "# Creare una lista di nomi,di cognomi ed età in modo automatico\n", "list_names = []\n", "list_surnames = []\n", "list_nums = []\n", "for i in range(0,30):\n", " num = np.random.randint(20,30,1)[0]\n", " #name = names.get_full_name()\n", " name = names.get_first_name()\n", " surname = names.get_last_name()\n", " #list_names.append([name, surname])\n", " list_names.append(name)\n", " list_surnames.append(surname)\n", " list_nums.append(num)\n", "\n", " #display(name)\n", "print(list_names)\n", "print(\"--------\")\n", "print(\"--------\")\n", "print(list_surnames)\n", "print(\"--------\")\n", "print(\"--------\")\n", "print(list_nums)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creare un dataframe da delle liste" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 451 }, "colab_type": "code", "id": "kk7BsofC6tcW", "outputId": "38063aae-4bdb-4923-bc83-330a65131507" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeLaureaPC
20Pilia NicolaLaurea in Economia e Gestione delle ImpreseWindows
21Romano FrancescaLaurea in Ingegneria ElettronicaWindows
22Rotaru IlonaLaurea in AstronomiaWindows
23Tacconi FrancescoLaurea in Design del profotto IndustrialeWindows
24Teleianu Maria AndreeaLaurea in Scienze StatisticheWindows
\n", "
" ], "text/plain": [ " Nome Laurea \\\n", "20 Pilia Nicola Laurea in Economia e Gestione delle Imprese \n", "21 Romano Francesca Laurea in Ingegneria Elettronica \n", "22 Rotaru Ilona Laurea in Astronomia \n", "23 Tacconi Francesco Laurea in Design del profotto Industriale \n", "24 Teleianu Maria Andreea Laurea in Scienze Statistiche \n", "\n", " PC \n", "20 Windows \n", "21 Windows \n", "22 Windows \n", "23 Windows \n", "24 Windows " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Datafrane (dict-like container for Series Object)\n", "content = {\n", " \"Nome\": list_names,\n", " \"Cognomi\": list_surnames,\n", " \"Età\" : list_nums\n", "}\n", "dff = pd.DataFrame(content )\n", "\n", "# Mostrare l'intero dataframe\n", "#display(df)\n", "\n", "# Stampare le prime 5 righe \n", "#display(dff.head())\n", "\n", "# Stampare le ultime\n", "display(df.tail())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ordinare i dati in base all'età dal più grande al più piccolo e mostrare le prime 8 righe" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 910 }, "colab_type": "code", "id": "AJc7UWIK69I7", "outputId": "bc9541de-7bf8-4f57-ffb4-dad5bdde02cf" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeCognomiEtà
29JamesCouch29
4JeanEby29
24MauriceJones29
17HeatherTaylor29
19MollyFortman28
13CharlesMcclain27
2LaurenCole27
3MaryWiley27
\n", "
" ], "text/plain": [ " Nome Cognomi Età\n", "29 James Couch 29\n", "4 Jean Eby 29\n", "24 Maurice Jones 29\n", "17 Heather Taylor 29\n", "19 Molly Fortman 28\n", "13 Charles Mcclain 27\n", "2 Lauren Cole 27\n", "3 Mary Wiley 27" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(dff.sort_values(by=\"Età\", ascending=False).head(8))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Della colonna Età selezione i valori che banno da riga 0 a 3" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 105 }, "colab_type": "code", "id": "nJJy1aqO7TBj", "outputId": "e2afb5ab-d28c-4e38-b0dd-c6a2badc1d4b" }, "outputs": [ { "data": { "text/plain": [ "0 20\n", "1 27\n", "2 27\n", "3 27\n", "Name: Età, dtype: int64" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Da notare che 0:4 seleziona le righe da 0,1,2,3\n", "dff[\"Età\"][0:4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Della colonna Età e Cognomi seleziona i valori che banno da riga 0 a 3" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "colab_type": "code", "id": "vPK3MNCg_foL", "outputId": "6ef80030-1957-4a42-d53c-fadcb9b5673c" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EtàCognomi
020Ortiz
127Lackey
227Cole
327Wiley
\n", "
" ], "text/plain": [ " Età Cognomi\n", "0 20 Ortiz\n", "1 27 Lackey\n", "2 27 Cole\n", "3 27 Wiley" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dff[[\"Età\",\"Cognomi\"]][0:4]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Della colonna età selezionare tutte le righe che hanno età=20" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 421 }, "colab_type": "code", "id": "gEicM0xjAO0W", "outputId": "609456e0-8c3b-46c8-cdc4-cc798474e0da" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeCognomiEtà
0LawrenceOrtiz20
14CandyThompson20
\n", "
" ], "text/plain": [ " Nome Cognomi Età\n", "0 Lawrence Ortiz 20\n", "14 Candy Thompson 20" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dff[dff[\"Età\"]==20]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Della colonna età selezionare tutte le righe che hanno età tra 20 (escluso) e 24 (incluso)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeCognomiEtà
5PamelaMills24
8BrandieGreenfield22
9KathleenSteiner22
11SusanArnold24
12DustinTerry22
16WilliamHarbison23
18RalphDick22
20LenVess23
22RobertBlazek23
23KimberlyZimmerman22
26BettyReed21
27MaryPedro21
28StephanieTryon24
\n", "
" ], "text/plain": [ " Nome Cognomi Età\n", "5 Pamela Mills 24\n", "8 Brandie Greenfield 22\n", "9 Kathleen Steiner 22\n", "11 Susan Arnold 24\n", "12 Dustin Terry 22\n", "16 William Harbison 23\n", "18 Ralph Dick 22\n", "20 Len Vess 23\n", "22 Robert Blazek 23\n", "23 Kimberly Zimmerman 22\n", "26 Betty Reed 21\n", "27 Mary Pedro 21\n", "28 Stephanie Tryon 24" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dff[(dff[\"Età\"]>20) & (dff[\"Età\"]<=24)]\n", "#dff.loc[(dff[\"Età\"]>20) & (dff[\"Età\"]<=24)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Delle colonne Nome e Cognomi trova tutti i Nomi che hanno la lettera D o M mauscole" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 335 }, "colab_type": "code", "id": "BknY0fooAvHB", "outputId": "83d367a3-168a-407c-8dcc-d5d7792a87d3" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeCognomiEtà
1MichaelLackey27
3MaryWiley27
5PamelaMills24
10WilliamMitchell25
12DustinTerry22
13CharlesMcclain27
15RandallDunston26
18RalphDick22
19MollyFortman28
24MauriceJones29
25MeganCurran26
27MaryPedro21
\n", "
" ], "text/plain": [ " Nome Cognomi Età\n", "1 Michael Lackey 27\n", "3 Mary Wiley 27\n", "5 Pamela Mills 24\n", "10 William Mitchell 25\n", "12 Dustin Terry 22\n", "13 Charles Mcclain 27\n", "15 Randall Dunston 26\n", "18 Ralph Dick 22\n", "19 Molly Fortman 28\n", "24 Maurice Jones 29\n", "25 Megan Curran 26\n", "27 Mary Pedro 21" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dff[dff[\"Nome\"].str.contains(\"D|M\") | dff[\"Cognomi\"].str.contains(\"D|M\")]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sostituire nella colonna Nome \"e\" con \",AAAA\" (Replace method)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 910 }, "colab_type": "code", "id": "6i3-q0rwEFel", "outputId": "83a96ac3-3d65-4996-d96f-ed43ee701b4b" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeCognomiEtà
0Lawr,AAAAnc,AAAAOrtiz20
1Micha,AAAAlLackey27
2Laur,AAAAnCole27
\n", "
" ], "text/plain": [ " Nome Cognomi Età\n", "0 Lawr,AAAAnc,AAAA Ortiz 20\n", "1 Micha,AAAAl Lackey 27\n", "2 Laur,AAAAn Cole 27" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dff[\"Nome\"] = dff[\"Nome\"].str.replace(\"e\",\",AAAA\")\n", "# Mostra solo le prime 3 righe\n", "dff.head(3) " ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 910 }, "colab_type": "code", "id": "0Dxu6mvkFCcG", "outputId": "e38a6d04-5266-4ff2-8411-093bb6533d9f" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
NomeCognomiEtà
0LawrenceOrtiz20
1MichaelLackey27
2LaurenCole27
\n", "
" ], "text/plain": [ " Nome Cognomi Età\n", "0 Lawrence Ortiz 20\n", "1 Michael Lackey 27\n", "2 Lauren Cole 27" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Viceversa: Sostituire \",AAAA\" con \"e\"\n", "dff[\"Nome\"] = dff[\"Nome\"].str.replace(\",AAAA\",\"e\")\n", "# Mostra solo le prime 5 righe\n", "dff.head(3) " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "emrfEV6TG4Qf" }, "source": [ "## Esempio n.3: Creazione di un dataframe usando csv e fogli excel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importare dataset da url online" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 391 }, "colab_type": "code", "id": "7GULa3XqKp-w", "outputId": "3b9b124f-415b-4c67-d7b2-c3756becaebc" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateKeyCountryCodeCountryNameRegionCodeRegionNameConfirmedDeathsLatitudeLongitudePopulation
02019-12-30AEAEUnited Arab EmiratesNaNNaN0.00.024.40000054.3000009.400145e+06
12019-12-30AFAFAfghanistanNaNNaN0.00.034.00000066.0000003.494084e+07
22019-12-30AMAMArmeniaNaNNaN0.00.040.38333344.9500002.930450e+06
32019-12-30ATATAustriaNaNNaN0.00.048.00000014.0000008.809212e+06
42019-12-30AUAUAustraliaNaNNaN0.00.0-28.000000137.0000002.451180e+07
....................................
670742020-05-26UA_40RURussia40Sevastopol158.0NaN44.60000033.5333334.488290e+05
670752020-05-26UA_43RURussia43Republic of Crimea346.0NaN44.93330034.1000001.957801e+06
670762020-05-26XKXKKosovoNaNNaN1038.030.042.55000020.8333331.883018e+06
670772020-05-27CNCNChinaNaNNaN84543.04645.035.000000103.0000001.382793e+09
670782020-05-27CN_HKCNChinaHKHong Kong1065.04.022.278333114.1586107.500700e+06
\n", "

67079 rows × 11 columns

\n", "
" ], "text/plain": [ " Date Key CountryCode CountryName RegionCode \\\n", "0 2019-12-30 AE AE United Arab Emirates NaN \n", "1 2019-12-30 AF AF Afghanistan NaN \n", "2 2019-12-30 AM AM Armenia NaN \n", "3 2019-12-30 AT AT Austria NaN \n", "4 2019-12-30 AU AU Australia NaN \n", "... ... ... ... ... ... \n", "67074 2020-05-26 UA_40 RU Russia 40 \n", "67075 2020-05-26 UA_43 RU Russia 43 \n", "67076 2020-05-26 XK XK Kosovo NaN \n", "67077 2020-05-27 CN CN China NaN \n", "67078 2020-05-27 CN_HK CN China HK \n", "\n", " RegionName Confirmed Deaths Latitude Longitude \\\n", "0 NaN 0.0 0.0 24.400000 54.300000 \n", "1 NaN 0.0 0.0 34.000000 66.000000 \n", "2 NaN 0.0 0.0 40.383333 44.950000 \n", "3 NaN 0.0 0.0 48.000000 14.000000 \n", "4 NaN 0.0 0.0 -28.000000 137.000000 \n", "... ... ... ... ... ... \n", "67074 Sevastopol 158.0 NaN 44.600000 33.533333 \n", "67075 Republic of Crimea 346.0 NaN 44.933300 34.100000 \n", "67076 NaN 1038.0 30.0 42.550000 20.833333 \n", "67077 NaN 84543.0 4645.0 35.000000 103.000000 \n", "67078 Hong Kong 1065.0 4.0 22.278333 114.158610 \n", "\n", " Population \n", "0 9.400145e+06 \n", "1 3.494084e+07 \n", "2 2.930450e+06 \n", "3 8.809212e+06 \n", "4 2.451180e+07 \n", "... ... \n", "67074 4.488290e+05 \n", "67075 1.957801e+06 \n", "67076 1.883018e+06 \n", "67077 1.382793e+09 \n", "67078 7.500700e+06 \n", "\n", "[67079 rows x 11 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Dataset mondo covid 19\n", "data = pd.read_csv('https://open-covid-19.github.io/data/data.csv')\n", "data" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 407 }, "colab_type": "code", "id": "kIgCaENdPHBK", "outputId": "dc7b4a2c-3f89-44a0-ad37-a3362b642fe1" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
datastatoricoverati_con_sintomiterapia_intensivatotale_ospedalizzatiisolamento_domiciliaretotale_positivivariazione_totale_positivinuovi_positividimessi_guaritidecedutitotale_casitamponicasi_testatinote_itnote_en
02020-02-24T18:00:00ITA10126127942210221172294324NaNNaNNaN
12020-02-25T18:00:00ITA1143515016231190931103228623NaNNaNNaN
22020-02-26T18:00:00ITA1283616422138574783124009587NaNNaNNaN
32020-02-27T18:00:00ITA24856304284588203250451765012014NaNNaNNaN
42020-02-28T18:00:00ITA34564409412821233238462188815695NaNNaNNaN
\n", "
" ], "text/plain": [ " data stato ricoverati_con_sintomi terapia_intensiva \\\n", "0 2020-02-24T18:00:00 ITA 101 26 \n", "1 2020-02-25T18:00:00 ITA 114 35 \n", "2 2020-02-26T18:00:00 ITA 128 36 \n", "3 2020-02-27T18:00:00 ITA 248 56 \n", "4 2020-02-28T18:00:00 ITA 345 64 \n", "\n", " totale_ospedalizzati isolamento_domiciliare totale_positivi \\\n", "0 127 94 221 \n", "1 150 162 311 \n", "2 164 221 385 \n", "3 304 284 588 \n", "4 409 412 821 \n", "\n", " variazione_totale_positivi nuovi_positivi dimessi_guariti deceduti \\\n", "0 0 221 1 7 \n", "1 90 93 1 10 \n", "2 74 78 3 12 \n", "3 203 250 45 17 \n", "4 233 238 46 21 \n", "\n", " totale_casi tamponi casi_testati note_it note_en \n", "0 229 4324 NaN NaN NaN \n", "1 322 8623 NaN NaN NaN \n", "2 400 9587 NaN NaN NaN \n", "3 650 12014 NaN NaN NaN \n", "4 888 15695 NaN NaN NaN " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Dataset mondo covid 19\n", "dati_province = \"https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-province/dpc-covid19-ita-province.csv\"\n", "dati_regioni = \"https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-regioni/dpc-covid19-ita-regioni.csv\"\n", "dati_italia = \"https://raw.githubusercontent.com/pcm-dpc/COVID-19/master/dati-andamento-nazionale/dpc-covid19-ita-andamento-nazionale.csv\"\n", "data = pd.read_csv(dati_italia)\n", "display(data.head(5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stampare i tipi di dati contenuti nel dataframe" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 402 }, "colab_type": "code", "id": "hhoq9ZRwUkeO", "outputId": "3aa4ae5b-21d1-42cc-ea75-26f6bfc6d29f" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 93 entries, 0 to 92\n", "Data columns (total 16 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 data 93 non-null object \n", " 1 stato 93 non-null object \n", " 2 ricoverati_con_sintomi 93 non-null int64 \n", " 3 terapia_intensiva 93 non-null int64 \n", " 4 totale_ospedalizzati 93 non-null int64 \n", " 5 isolamento_domiciliare 93 non-null int64 \n", " 6 totale_positivi 93 non-null int64 \n", " 7 variazione_totale_positivi 93 non-null int64 \n", " 8 nuovi_positivi 93 non-null int64 \n", " 9 dimessi_guariti 93 non-null int64 \n", " 10 deceduti 93 non-null int64 \n", " 11 totale_casi 93 non-null int64 \n", " 12 tamponi 93 non-null int64 \n", " 13 casi_testati 38 non-null float64\n", " 14 note_it 29 non-null object \n", " 15 note_en 29 non-null object \n", "dtypes: float64(1), int64(11), object(4)\n", "memory usage: 11.8+ KB\n" ] }, { "data": { "text/plain": [ "None" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "display(data.info())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Esportare il dataframe come foglio excel" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "colab": {}, "colab_type": "code", "id": "3gJL4R1MSVvo" }, "outputs": [], "source": [ "data.to_excel('dati_italia.xlsx', index=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Esportare il dataframe come csv" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "colab": {}, "colab_type": "code", "id": "rZ54gaRBUBhx" }, "outputs": [], "source": [ "data.to_csv('dati_italia.csv', index=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importare un excel in un dataframe" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "colab_type": "code", "id": "zFesSOJwU6LF", "outputId": "63afeda3-3807-40f3-e2e8-4258140e8dea" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
datastatoricoverati_con_sintomiterapia_intensivatotale_ospedalizzatiisolamento_domiciliaretotale_positivivariazione_totale_positivinuovi_positividimessi_guaritidecedutitotale_casitamponicasi_testatinote_itnote_en
02020-02-24T18:00:00ITA10126127942210221172294324NaNNaNNaN
12020-02-25T18:00:00ITA1143515016231190931103228623NaNNaNNaN
22020-02-26T18:00:00ITA1283616422138574783124009587NaNNaNNaN
32020-02-27T18:00:00ITA24856304284588203250451765012014NaNNaNNaN
42020-02-28T18:00:00ITA34564409412821233238462188815695NaNNaNNaN
\n", "
" ], "text/plain": [ " data stato ricoverati_con_sintomi terapia_intensiva \\\n", "0 2020-02-24T18:00:00 ITA 101 26 \n", "1 2020-02-25T18:00:00 ITA 114 35 \n", "2 2020-02-26T18:00:00 ITA 128 36 \n", "3 2020-02-27T18:00:00 ITA 248 56 \n", "4 2020-02-28T18:00:00 ITA 345 64 \n", "\n", " totale_ospedalizzati isolamento_domiciliare totale_positivi \\\n", "0 127 94 221 \n", "1 150 162 311 \n", "2 164 221 385 \n", "3 304 284 588 \n", "4 409 412 821 \n", "\n", " variazione_totale_positivi nuovi_positivi dimessi_guariti deceduti \\\n", "0 0 221 1 7 \n", "1 90 93 1 10 \n", "2 74 78 3 12 \n", "3 203 250 45 17 \n", "4 233 238 46 21 \n", "\n", " totale_casi tamponi casi_testati note_it note_en \n", "0 229 4324 NaN NaN NaN \n", "1 322 8623 NaN NaN NaN \n", "2 400 9587 NaN NaN NaN \n", "3 650 12014 NaN NaN NaN \n", "4 888 15695 NaN NaN NaN " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.read_excel('dati_italia.xlsx')\n", "data.head()\n", "# Su colab è possibile caricare file: Upload option" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizzare la colonna di terapia_intensiva come riga" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 176 }, "colab_type": "code", "id": "xaI5An3kVKph", "outputId": "46521cb5-4845-485d-d706-5a9f22bc970a" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
0123456789...83848586878889909192
data2020-02-24T18:00:002020-02-25T18:00:002020-02-26T18:00:002020-02-27T18:00:002020-02-28T18:00:002020-02-29T18:00:002020-03-01T18:00:002020-03-02T18:00:002020-03-03T18:00:002020-03-04T18:00:00...2020-05-17T17:00:002020-05-18T17:00:002020-05-19T17:00:002020-05-20T17:00:002020-05-21T17:00:002020-05-22T17:00:002020-05-23T17:00:002020-05-24T17:00:002020-05-25T17:00:002020-05-26T17:00:00
terapia_intensiva2635365664105140166229295...762749716676640595572553541521
\n", "

2 rows × 93 columns

\n", "
" ], "text/plain": [ " 0 1 \\\n", "data 2020-02-24T18:00:00 2020-02-25T18:00:00 \n", "terapia_intensiva 26 35 \n", "\n", " 2 3 \\\n", "data 2020-02-26T18:00:00 2020-02-27T18:00:00 \n", "terapia_intensiva 36 56 \n", "\n", " 4 5 \\\n", "data 2020-02-28T18:00:00 2020-02-29T18:00:00 \n", "terapia_intensiva 64 105 \n", "\n", " 6 7 \\\n", "data 2020-03-01T18:00:00 2020-03-02T18:00:00 \n", "terapia_intensiva 140 166 \n", "\n", " 8 9 ... \\\n", "data 2020-03-03T18:00:00 2020-03-04T18:00:00 ... \n", "terapia_intensiva 229 295 ... \n", "\n", " 83 84 \\\n", "data 2020-05-17T17:00:00 2020-05-18T17:00:00 \n", "terapia_intensiva 762 749 \n", "\n", " 85 86 \\\n", "data 2020-05-19T17:00:00 2020-05-20T17:00:00 \n", "terapia_intensiva 716 676 \n", "\n", " 87 88 \\\n", "data 2020-05-21T17:00:00 2020-05-22T17:00:00 \n", "terapia_intensiva 640 595 \n", "\n", " 89 90 \\\n", "data 2020-05-23T17:00:00 2020-05-24T17:00:00 \n", "terapia_intensiva 572 553 \n", "\n", " 91 92 \n", "data 2020-05-25T17:00:00 2020-05-26T17:00:00 \n", "terapia_intensiva 541 521 \n", "\n", "[2 rows x 93 columns]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Creare un nuovo dataframe contenente le colonne data e terapia_intensiva\n", "dn = data[[\"data\", \"terapia_intensiva\"]]\n", "#display(dn.shape)\n", "# Eseguire l'operazione Trasposta. Che inverte righe con colonne\n", "dn = dn.T\n", "display(dn)\n", "#display(dn.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mostrare gli utimi 10 risultati" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 365 }, "colab_type": "code", "id": "QUg_nOEYXGoX", "outputId": "59a2efc2-c348-4639-dd62-f26d2c21aff7" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dataterapia_intensivaisolamento_domiciliarericoverati_con_sintomi
832020-05-17T17:00:007625727810311
842020-05-18T17:00:007495559710207
852020-05-19T17:00:00716544229991
862020-05-20T17:00:00676524529624
872020-05-21T17:00:00640510519269
882020-05-22T17:00:00595497708957
892020-05-23T17:00:00572484858695
902020-05-24T17:00:00553474288613
912020-05-25T17:00:00541465748185
922020-05-26T17:00:00521445047917
\n", "
" ], "text/plain": [ " data terapia_intensiva isolamento_domiciliare \\\n", "83 2020-05-17T17:00:00 762 57278 \n", "84 2020-05-18T17:00:00 749 55597 \n", "85 2020-05-19T17:00:00 716 54422 \n", "86 2020-05-20T17:00:00 676 52452 \n", "87 2020-05-21T17:00:00 640 51051 \n", "88 2020-05-22T17:00:00 595 49770 \n", "89 2020-05-23T17:00:00 572 48485 \n", "90 2020-05-24T17:00:00 553 47428 \n", "91 2020-05-25T17:00:00 541 46574 \n", "92 2020-05-26T17:00:00 521 44504 \n", "\n", " ricoverati_con_sintomi \n", "83 10311 \n", "84 10207 \n", "85 9991 \n", "86 9624 \n", "87 9269 \n", "88 8957 \n", "89 8695 \n", "90 8613 \n", "91 8185 \n", "92 7917 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Vogliamo le ultime 5 date o le prime 5 date\n", "dn = data[[\"data\", \"terapia_intensiva\",\"isolamento_domiciliare\", \"ricoverati_con_sintomi\"]]\n", "display(dn.tail(10)) # ultimi 10\n", "#display(dn.iloc[-10:,:]) # ultimi 10" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Filtrare la colonna \"ricoverati_con_sintomi\" tenendo solo valori > 100" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "colab_type": "code", "id": "FUwTaa5rYira", "outputId": "5a43dc46-8d34-49ce-c919-5e3112c2fb68" }, "outputs": [], "source": [ "# Select specific rows columns\n", "sel = dn.loc[data[\"ricoverati_con_sintomi\"]>100]\n", "#sel = dn.loc[data[\"ricoverati_con_sintomi\"]>100, \"isolamento_domiciliare\"]\n", "#display(sel)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Selezionare le colonne \"data\" e \"isolamento_domiciliare\" e mostrare solo i dati relativi alla data=\"2020-03-19T17:00:00\" " ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 237 }, "colab_type": "code", "id": "FQTg-C0gYptk", "outputId": "f5f904e9-aef9-4230-ce94-75db859e6232" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dataisolamento_domiciliare
242020-03-19T17:00:0014935
252020-03-20T17:00:0019185
262020-03-21T17:00:0022116
272020-03-22T17:00:0023783
282020-03-23T17:00:0026522
292020-03-24T17:00:0028697
\n", "
" ], "text/plain": [ " data isolamento_domiciliare\n", "24 2020-03-19T17:00:00 14935\n", "25 2020-03-20T17:00:00 19185\n", "26 2020-03-21T17:00:00 22116\n", "27 2020-03-22T17:00:00 23783\n", "28 2020-03-23T17:00:00 26522\n", "29 2020-03-24T17:00:00 28697" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Select specific row columns (da a (data specifica))\n", "#2020-03-19T17:00:00\t\n", "#2020-03-25T17:00:00\n", "# index[0] This will return the index of the first row of the result...\n", "dn = data[[\"data\", \"terapia_intensiva\",\"isolamento_domiciliare\", \"ricoverati_con_sintomi\"]]\n", "\n", "idxstart = dn[dn[\"data\"]==\"2020-03-19T17:00:00\"].index[0]\n", "idxstop = dn[dn[\"data\"]==\"2020-03-25T17:00:00\"].index[0]\n", "#print(idxstart,idxstop)\n", "\n", "#dn = dn.iloc[idxstart:idxstop,:] # row da data scelta start a data scelta stop, colonne tutte\n", "#dn = dn.iloc[idxstart:idxstop,:-1] # -1 rimuove la colonna\n", "#dn = dn.iloc[idxstart:idxstop,2:4] # 4 colonne \n", "dn = dn.iloc[idxstart:idxstop,[0,2]] # 4 colonne \n", "dn" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "ToiP768aggNk" }, "source": [ "## Grafici usando pandas \n", "\n", "* [Pandas plot examples](http://queirozf.com/entries/pandas-dataframe-plot-examples-with-matplotlib-pyplot)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 191 }, "colab_type": "code", "id": "DMu0j-AdiuTE", "outputId": "98ef2ada-4097-4949-eca6-342e57460c83" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
datatotale_casidecedutitotale_positivi
02020-02-24T18:00:002297221
12020-02-25T18:00:0032210311
22020-02-26T18:00:0040012385
32020-02-27T18:00:0065017588
42020-02-28T18:00:0088821821
\n", "
" ], "text/plain": [ " data totale_casi deceduti totale_positivi\n", "0 2020-02-24T18:00:00 229 7 221\n", "1 2020-02-25T18:00:00 322 10 311\n", "2 2020-02-26T18:00:00 400 12 385\n", "3 2020-02-27T18:00:00 650 17 588\n", "4 2020-02-28T18:00:00 888 21 821" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dn = data[[\"data\", \"totale_casi\", \"deceduti\",\"totale_positivi\"]]\n", "display(dn.head())" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "colab": {}, "colab_type": "code", "id": "a1BG0Go-OkX7" }, "outputs": [], "source": [ "# Problema: datetime deve essere tutta una parola\n", "#dn[\"data\"] = pd.to_datetime(data[\"data\"])\n", "#display(dn.head(4))\n", "#display(dn.dtypes)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "colab": {}, "colab_type": "code", "id": "HrupN-jfSveu" }, "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", "plt.style.use('seaborn') # fivethirtyeight" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 536 }, "colab_type": "code", "id": "e9nl2oahW7Pt", "outputId": "9d267d63-b00c-4a61-a766-32936fe5f768" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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X79NXnjh+Vx33bfyxhtv5LTTTs6HPnRQrrxyWmbMuDZ9+uyUr3512mbrn3TSuPyf/3NXjj76n/L444+V9KkBAOjM3txyYbsFUDSNiAI888wz+cAHDkySDB06LPX19Vm2bGmuvPKKJMm6dWuz22575He/W5YDDjggSdK3b9+ceurpue22m/LUU0/mzDM/nSRZu3Zt/uu/lmflypVpbGzMihWr8v7375/nnnt2o7otLS0lfUIAAKrixoj2aWuDpT1nXzgnA7aMRkQB9t577zz++P/LwQcfmiVLnszatWuzxx4DM3nyF7PrrrvmsccW5Y9//EPq6+vzs5/dnyOP/KesXr06U6acn3/6p+PygQ+MyHnnXZjm5ubMmjUz733vbunfv39+85vfpG/fnfPEE79KQ0NDtt1227z00ktZt25dXn311bzwwvIkSY8ePdLc3FzxTwEAgKppWgAdkUZEAY4//vicddbZOf30UzJw4J7ZZpttcs45F+Syy6Zk3bp1qaury/nnX5Tdd98jixcvyumnn5J169bl5JNPzYc//Hf55S8fzhlnjM9rr72aQw75h/Tq1Ttf+MKknHvuudluu+3Tq1evNDQ05N3v3ikf+tCBOfXUkzJgwG7ZbbfdkyTvfe9uWbJkSe644/aKfxIAALSF/8LedWkGwca6fCOites2+/dvyIoVq1p9TltzSbLddtvl0kuv2Gh8+vQbNhq76KKLNnruhAlnb5QbMmRY5syZs1H23HMvrDmHH/3oR22eLwAAUL32NC2K2HICZenyjQgAAKiC/wMIUJtGBAAAAJpnlEYjAgAA2sE1l+DsC7ZMj6onAAAAAHQfGhEAAABAaTQiAAAAgNJ0+TMi3r53qeb7bX3OX7+2Zd/TG2+8kbvv/n6OOuqYmu8vWvRI+vRpyD77DKr5/n/8x91ZtuyZnH76hDbObuu4+uorM2bMienVa/v8/OcP5vDDj8gtt8zKBz84IkOGDNso//Of/ywvvvhfOfrofyp1ngAAW5v97lAcf77477p8I6IKK1as2Gwj4p577sphhx2+yUZEVc4665wkySOP/GceeOD+HH74EfnXfx27yfyHP/x3Jc0MAADoDhwG2z1oRBTg+uuvzzPPLM2//duNeeKJxWlqasq6dety6qmnp3fvPlm48MEsWfJk9txzr/z4xz/IPff8KK+99lr69euXyy//6gbP+u53Z+cnP/lx6urqcvTRR+XjHz92k3WPO+7oDBkyNMuXP5f3vW/fTJx4fpqamnLppRdtMIcPfvBD+eY3r80vf/lw6upa8vd//5H8y7+MzZlnfjpf+MKk3Hzzt/P007/OD37wv/P444/lsMMOz113fS+nnjoujY3vy5NP/iqzZs3MIYf8QyUrNwAA2sJ/hYWuy1WjnZtGRAE+85nPZPHiJ9LU1JQRIw7Kpz51fFas+H3OOGN87rjjBznooP+Rww47PDvvvHNefvnlfP3rM9KjR4+cffaZeeKJxeufs3TpbzN37k8yY8bMJMm5534uQ4d+IHvssWfNuitWvJhTT52e3XbbPZddNjn/9//Oy//7f4/VnMNPfvJ/cs0138y++zbmpptu3+A5J500Lj/4wZwcffQ/5fHHH0uSHHXUMfne976Xs89+X+655+4cddSx+dOfXi7mBwgAALCVaFp0PBoRBVq2bGkOP/yIJEn//junV6/eeemllevf79GjR7bZZptcfPGF2X777fP73/8+a9euXf/+b3/7m7z44n/lrLNOT5K89lpTnn322U02InbZZdfsttvuSZIPfOAD+d3vlm1yDlOmXJrrr78mq1b9KcOHH9jqZznooP+RG26Ynlde+VMee+yXmTjx8/nxj//jHf1cAAAAOiIrqcqhEVGAHj16pKWlOQMHNubRRxdl8OB9s2LF77Nq1Svp2/dvUldXl5aW5jz99K9z7733ZsaMb+f111/PKaf8ywbP2WOPgdlzz71y5ZXfSF1dXe65Z0723nvT50qsWLEif/zjH/Lud++URx55JP/wD4fnT3/600Zz6NOnIT/96dxcfPHl6d+/IaNHH5GPfWz0BvNvbm7Z6DMdccQR+epXr8jBBx+anj17bt0fGgAAAN2CRkQB3v3ud+fPf16bpqbVeeSRX2TevLl54403cu65F6a+vj5DhgzL9ddPz9SpX8r222+f008f99fv2yl/+MOK9c8ZNGhwRoz4UM4445SsWfPnDB9+QI44ovYBmEmy7bbb5Gtf+1958cUXM2LE8Pz93x+S/fY7INOmfXGDOWy77bbp27dvPv3psWlo6J0PfejD2WWXXdc/573v3S2//e3TueOODbdsfOITn8iMGYdl9uzvbeWfGABA21hiDXQUVk+8c12+EdHa3wj9+zdkxYpVrT6nrbkk2W677TJr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mWeemebm5lx88cV56qmnsu222+ayyy7LwIEDs2jRojZnAQAAgK7jHTUi3njjjbS0tOSWW25ZP3b00Ufnmmuuye67755Pf/rT+dWvfpXnnnsua9asyXe+850sWrQoV1xxRa677rpMnTq1zVkAAACg63hHjYgnn3wyr732WsaNG5e1a9dmwoQJWbNmTfbYY48kyciRI/Ozn/0sK1asyMEHH5wkOeCAA/L4449n9erVbc4CFOnqE3beaOzaCuYBAADdyTtqRLzrXe/KKaeckuOOOy7PPPNMTj311PTt23f9+717986zzz6b1atXr9++kSQ9e/bcaGxz2bVr16a+ftNT3GGHXqmv71nzvf79G9r8edqaLeKZHSFbdf2islXXLypbdf3WsktqjG0q39ZsrdzWyG5JrrNlq65fVLbq+kVlq65fVLbq+kVlq65fVLbq+kVlq65fVLbq+kVlq65fVLbq+kVlq65fVLbq+kVlq6z/jhoRjY2NGThwYOrq6tLY2JiGhoa8/PLL699vampK37598/rrr6epqWn9eHNzc/r06bPB2Oaym2tCJMlLL71ac7x//4asWLGqTZ+lrdkintkRslXXLypbdf2islXXb2/2Te3JV52tun5R2arrF5Wtun5R2arrF5Wtun5R2arrF5Wtun5R2arrF5Wtun5R2arrF5Wtun5R2arrF5Wtun5R2TLqb6op0aPNT3ub7373u7niiiuSJC+++GJee+219OrVK7/73e/S0tKSBQsWZMSIERk+fHjmz5+fJFm0aFEGDx6cPn36ZJtttmlTFgAAAOha3tGKiE9+8pO54IILcvzxx6euri6XX355evTokc9//vNZt25dRo4cmf333z/vf//788ADD+Sf//mf09LSkssvvzxJcskll7Q5C1Svq17J+dpDR2w8+NHy5wEAAN3JO2pEbLvttrnyyis3Gr/jjjs2+HWPHj3yxS9+caPcAQcc0OYsAAAA0HW8o60ZAAAAAO+ERgQAAABQmne0NQOgo7r6hJ1rjl9b8jwAAIDarIgAAAAASqMRAQAAAJRGIwIAAAAojTMigC7ltYeOqP3GR8udBwAAUJtGBHRTS8aPfev128YHz5xV9lQAAIBuxNYMAAAAoDRWRAAdnis5AQCg67AiAgAAACiNRgQAAABQGlszgA7PTRgAANB1WBEBAAAAlMaKCOhCOtuVnLUOoXQAJQAAdG1WRAAAAACl0YgAAAAASmNrBlCZmodQOoASAAC6NCsiAAAAgNJYEQFsVQ6gBAAANkcjAjqBN2/D6Aw3YQAAAGyOrRkAAABAaayIALYqB1ACAACboxEBtMq5DwAAwNZiawYAAABQGisigFbZbgEAAGwtVkQAAAAApbEiAiry5pWcyVvXcrqSEwAA6Oo0IqCbqnUAZeIQSgAAoFi2ZgAAAAClsSICuqmaB1AmDqEEAAAKZUUEAAAAUBorImArcgAlAADA5mlEQBfiAEoAAKCj04iAVtRa5ZB0zJUOzn0AAAA6OmdEAAAAAKWxIgI6gVpbLmy3AAAAOiONCOgEam65sN0CAADohDQi6JY607kPAAAAXYlGBFTEdgsAAKA70oiAithuAQAAdEduzQAAAABKY0UEXcqbZz9Ude6D7RYAAACbpxEBW5HtFgAAAJunEQGtuGKfk2qOf7vkeQAAAHQFGhF0eLWu2nTNJgAAQOekEUG3VOssh8R5DgAAAEXTiKASVa9yqHmWQ+I8BwAAgIJpRLDV1GouJOU2GGqd5+AsBwAAgI6jR9UTAAAAALoPKyLYLKscAAAA2Jo0IrqpNxsMmgsAAACUSSOiCyniAMj23C5Rq7mQaDAAAADwlg7ViGhubs7FF1+cp556Kttuu20uu+yyDBw4sOppbXXt2e7QnuZCe1YZtDXrdgkAAAC2pg7ViLj33nuzZs2afOc738miRYtyxRVX5Lrrrqt6Wm3SnuZCe1YO2MIAAABAV9KhGhEPP/xwDj744CTJAQcckMcff7zN3zvuivs2Gvv2+bX/s30RWdsSAAAAoHV1LS0tLVVP4k0XXnhhDj/88HzkIx9Jkhx66KG59957U1/fofolAAAAwDvUo+oJvF2fPn3S1NS0/tfNzc2aEAAAANCFdKhGxPDhwzN//vwkyaJFizJ48OCKZwQAAABsTR1qa8abt2YsWbIkLS0tufzyy7P33ntXPS0AAABgK+lQjQgAAACga+tQWzMAAACArk0jAgAAACiNRgQAAABQmi7ViGhubi70+WvWrGk18/rrr7cplyR//OMf25Rrbm7Oiy++2KbPt3Llymzq2I/Vq1e3qV4ta9asyeuvv95qzpEjAAAAbE7Piy+++OKqJ7Elnn322VxwwQX58pe/nFtvvTX/9m//lp/97GcZNmxYdthhh3f0zPvuuy/jxo3Lbbfdlp122imDBg1Kkpx88sk59thjN8g+/fTTmTx5chYsWJBevXrllFNOye23357dd989jY2NG2SXLl2al19+ef1fEydOzIgRI/Lyyy9vNNdJkyblsMMOy6OPPpqTTjop9913X2666aYMHTo0u+666/rcnDlzct9996V379456aST8sMf/jCzZs3K3nvvnd13332DZ37oQx/KTjvtlKFDh7b6M1i6dGmmTp2ae++9N7vsskvGjRuXW2+9Nf3791//83jT7373u5x99tn5+te/nq985Su5//778/Of/zzDhw9P7969W/+B06Hde++9ue2223LPPfdk4cKFaWpqyj777JO6urp39LyVK1fm6quvzi9+8Yvsu+++2X777ZMk06dPz4EHHrhBtrm5OXPnzs2KFSvS0NCQiy++OPfdd1/233//9OrVa7N1pk2bloMPPrjmez/60Y8yaNCgvPrqq7nqqqvyrW99K08//XT233//bLvttutzzz77bBYtWpRdd901M2bMyLe//e08+eST2W+//bLddttt8MxzzjknI0aMaHVeb5o3b16ee+657LrrrvnSl76Uu+++O8OGDUtDQ8NG2bvvvjv//u//nh/96Ed5+OGH09zcnIEDB9Z8rt+vzvP7tbV/r5Lqf7/a+nuVdL7fryR58sknc9ddd2X+/Pl54okn0rNnz+yyyy5tmlMtb7zxRmbPnp2nnnoqgwYNSs+ePZMks2fPzrBhw2rWf/XVV7P99tvnuuuuyy9+8Yu8//3vzzbbbLPZOjfeeGM++MEP1nzvP//zPzNgwIA0Nzfn9ttvzx133JEXX3wxQ4YMSY8eb/33qj/96U956qmnsssuu+R73/te7rzzzjz//PN53/vet0EuSa666qoccMABrc7rTb/+9a/z8ssvZ8cdd8y3vvWt3H///Rk2bNhGfx8kySOPPJIf/vCHeeCBB7JkyZL06dMnO+64Y83n+uehP1+d5c9X0vY/Y/58+fP1ps7056uWTn9rxkknnZRzzjkn+++///qxRYsW5Yorrsjs2bPf0TM/9alP5cYbb0xzc3POOuusHHvssTn22GPzr//6r7nllls2yJ544ok566yz8vzzz+dLX/pSfvzjH2e77bbL+PHjN6p/6KGH5l3veld23nnntLS05Mknn8y+++6burq63HzzzRt9rptvvjlj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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(18,8))\n", "dn.plot(kind=\"bar\",stacked=True,ax=ax)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 536 }, "colab_type": "code", "id": "BWSQWpuiPEr3", "outputId": "c1d62576-44d4-448f-cc98-5e186b28ec20" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABCIAAAHTCAYAAADyJ7lIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde5hVZaE/8O8ASgiDV9LjHU1TsDTEyynE0rzUyazM++XooCWm4U88poKgoTKd0i4qeiTvSqhxKs3soqMQakgqmJTi/X5sElQYFISZ3x8d5jjOADPAXntm+Hyepydn7++s9917zd6z58u71qpoaGhoCAAAAEABupR7AgAAAMCaQxEBAAAAFEYRAQAAABRGEQEAAAAURhEBAAAAFEYRAQAAABSmW7knsCpqa+e1ePv666+TuXMXtGobrc2WYpvtIVvu8UuVLff4pcqWe/xSZcs9fqmy5R6/VNlyj1+qbLnHL1W23OOXKlvu8UuVLff4pcqWe/xSZcs9fqmy5R6/VNlyj1+qbLnHL1W23OOXKlvu8UuVXVauT5/KFvOdckVEt25dV3u2FNtsD9lyj1+qbLnHL1W23OOXKlvu8UuVLff4pcqWe/xSZcs9fqmy5R6/VNlyj1+qbLnHL1W23OOXKlvu8UuVLff4pcqWe/xSZcs9fqmy5R6/VNlyj1+qbFu2mXTSIgIAAABonxQRAAAAQGEUEQAAAEBhFBEAAABAYRQRAAAAQGEUEQAAAEBhFBEAAABAYbqVewKlVlVds1q3d+3Z+6zW7QEAAMCaxIqIEli4cGHuvPOXy7x/xoxH88wzTy/z/t/85s5ceeVlpZjaMj399FO57rrxhY4JAADAmkcRUQK1tbXLLSLuuuuO/OMftQXOaMW22+7jOeGEk8o9DQAAADq5Tn9oRjlcddVVeeGF53PddePzt7/NSl1dXZYsWZKTThqanj17Zdq0hzJ79pPZeutt8rvf/Sp33XV33n333ay33nq5+OIfNNnWz38+MX/4w+9SUVGRgw8+KF/4wleXOe6vf/3L/OIXk1JfvyT7779fjjzyhEyadGsmT76vyfZff/21jB17Qbp27ZauXSty7rkX5NVXX8mvfjUpF1wwttRPDwAAAGswRUQJnHzyyZk162+pq6vLwIF75LDDjkxt7d9zyikn5rbbfpU99vjX7Lvv/vnoRz+at956Kz/60bh06dIlZ5xxav72t1mN23n++edy771/yLhxP02SnHXWt9O//6ey5ZZbNxtz7tw5ufnmG3LDDT/L2mt3z403Xp26uvl5++23m23/6adnZ8cd++eUU4blhReeTF3d/KKeGgAAANZwiogSevHF57P//gcmSfr0+WjWWadn5s6d03h/ly5dstZaa+X880ekR48e+fvf/57Fixc33v/cc8/mjTf+J8OGDU2SvPtuXV5++eUWi4hXX301fftum+7dP5IkOfPMM1NbO6/F7X/pSwfnlltuyPDhp2WDDdbL8cd/s4TPAgAAAPwfRUQJdOnSJQ0N9dlqq76ZOXNGtt9+h9TW/j3z5r2T3r3XTUVFRRoa6vPMM0/nnnvuybhx1+a9997LkCHHNNnOlltula233iaXXPKTVFRU5K67JmXbbbdrcczNNts8L730QhYtWpS111473/72t/OlL30tU6bcn/Hjb2iy/alTJ2fnnT+VqqpvZNq0ybnllhty4IH/VvLnBQAAADp9EbGiy2326VOZ2tp5K9xOa3NJsuGGG+b99xenrm5+Hn10eu6//94sXLgwZ501It26dUu/fjvlqqsuz+jRF6VHjx4ZOrTqf79voyYnsdxuu+0zcOBuOeWUIVm06P0MGLBLDjzwKy2Ouf766+foo/89p576jVRUVGT//T+fHXfs3+L2+/f/RC68cHRuuOGadO1akZNPHubwDAAAAArR6YuIcujevXuuv37CMu//ylcOyVe+ckiS5MYbb1xuwXHUUcflqKOOS7LiMuSLXzwoX/ziQU2yP/nJVS1mr7zymmbbHDBg4HIeFQAAAKw6RUQHM3Xq5EyceEuz2w899MjsvffnyjAjAAAAaD1FRAczaNDeGTRo73JPAwAAAFZKl3JPAAAAAOh4qqprVur7FBEAAABAkn+WCytbMLSWIgIAAAA6sSLKhbbo9OeI+FbNWat1e1fs859tyi9cuDBHH/31/Pznd662Ofzylz/Pm2++mSFDvtni/e+883b+9Kf7s+een81NN12fXXcdmH79dlpt4wMAAFBeS4uFa8/ep8wzaTsrIjqhZ555OjU1//yhPPbY45UQAAAAHUB7W7lQKp1+RUQ51NXV5eyzz8i8efOy2WabJ0meffaZ/OhH309DQ0PWXXfdnHPO6PTs2TPf/e538+ijj+X99xdnyJBvZK+9Ppurrro8M2c+lvr6+hx++NHZZ5/PZ+bMGRk37of5yEd6pmvXrunff6e8/vprGT363Fx99fVJkm984/hccMHFufHGa/Pcc8/kV7/67zzxxOPZd9/9s+eeny7jMwIAALDmqqqu6ZArF0pFEVECEydOTN++2+ab3/xWZs16Io8++ud873sX5pxzRqVv323y61//MrfcckN22KFf5s6dm/Hjb8w777yTW2+9Jd26rZXXX381V155TRYuXJhvfvOE7LbbHrnkkrEZN+6K9Oq1UX7wg7HLHf+446ry29/ekYMP/lqeeOLxgh41AADAmqMjHxpRboqIEnjhhRfyqU/tniTp33+ndOvWLS+++HwuuaQ6SbJkyeJsvvmWeemlF7PLLrskSXr37p2TThqaW265IU899WROPfUbSZLFixfnf/7ntcyZMyd9+/ZNbe28fOITO+eVV15uNm5DQ0NBjxAAAKDzUS4UQxFRAttuu22eeOIv2Wuvz2b27CezePHibLnlVhk58rvZZJNN8vjjM/Lmm/9It27d8uCDk/PFL34t8+fPz6hRZ+drXzs0n/rUwHznOyNSX1+f66//aTbbbPP06dMnzz77bHr3/mj+9re/prKyMmuvvXbmzp2bJUuWZMGCBXn99deSJF26dEl9fX2ZnwUAAABoThFRAkceeWSGDTsjQ4cOyVZbbZ211lorw4efkwsvHJUlS5akoqIiZ599XrbYYsvMmjUjQ4cOyZIlS3LCCSdlzz0/ncceeySnnHJi3n13QQYP/lzWWadn/uM/zs1ZZ52V7t17ZJ111kllZWU23HCj7Lbb7jnppOOy6aabZ/PNt0iSbLbZ5pk9e3Zuu21CmZ8JAACA8rLKof3p9EXEii632adPZWpr561wO63NJUn37t0zZkx1s9svv/zqZredd955zbZ72mlnNMv167dTJk2a1Cx71lkjWpzD3Xff3er5AgAAdCTKhY7N5TsBAABoF9aES1eiiAAAAKCEqqprFAw0oYgAAAAACqOIAAAAoE2scmBVKCIAAACAwigiAAAAsMqBwnT6y3fOPvH45d/f2u387/9v/9PrV5hduHBh7rzzlznooK+0eP+MGY+mV6/KfOxj27V4/29+c2defPGFDB16Witnt3r8+MeX5PDDj8466/TIn/70UPbf/8DcdNP12XXXgenXb6dm+T/96cG88cb/5OCDv1boPAEAgNZxmUvaIysiSqC2tjZ33vnLZd5/11135B//qC1wRq0zbNjwbLLJJnnmmafzwAOTkyTHHnt8iyVEkuy556eVEAAAALRJp18RUQ5XXXVVXnjh+Vx33fj87W+zUldXlyVLluSkk4amZ89emTbtocye/WS23nqb/O53v8pdd92dd999N+utt14uvvgHTbb1859PzB/+8LtUVFTk4IMPyhe+8NVljnvooQenX7/+ee21V7Ljjjvk9NPPTl1dXcaMOa/JHHbddbf8139dkcceeyQVFQ35zGf2zjHHHJ9TT/1G/uM/zs2NN16bZ555Or/61X/niScez7777p877vhFTjqpKn377pgnn/xrrr/+pxk8+HNlWbkBAABAx2VFRAmcfPLJ2Xrrvqmrq8vAgXvkiivGZ8yY6lRXj8nHP75D9tjjXzN06Lfz0Y9+NG+99VZ+9KNxGT/+hixZsiR/+9usxu08//xzuffeP2TcuJ/miivG55577slLL72wzHFra9/ISScNzfjxN2bBggX54x/vzw03XNNsDg0NDfnDH36b0aMvzIQJE9KrV2WT7Rx3XFV23XVgk9UOBx30lfziF79Iktx115056KBlFyIAAEBpOZcDHZkVESX04ovPZ//9D0yS9Onz0ayzTs/MnTun8f4uXbpkrbXWyvnnj0iPHj3y97//PYsXL268/7nnns0bb/xPhg0bmiR59926vPzyy9lyy61bHG/jjTfJ5ptvkST51Kc+lZdeenGZcxg1akyuuuqyzJv3dgYM2H2Fj2WPPf41V199ed555+08/vhjOf30M/O73/1mpZ4XAACgOedzYE2hiCiBLl26pKGhPltt1TczZ87I9tvvkNrav2fevHfSu/e6qaioSENDfZ555uncc889GTfu2rz33nsZMuSYJtvZcsutsvXW2+SSS36SioqK3HXXpGy7bcsnuEz+eW6KN9/8RzbccKM8+uij+dzn9s/bb7/dbA69elXmvvvuzfnnX5w+fSpzwAEH5vOfP6DJ/OvrG5o9pgMPPDA/+EF19trrs+natevqfdIAAKATUi5Ac4qIEthwww3z/vuLU1c3P48+Oj33339vFi5cmLPOGpFu3bqlX7+dctVVl2f06IvSo0ePDB1a9b/ft1GTk1hut932GThwt5xyypAsWvR+BgzYJQce2PKVOJJk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AAAAWJ6u559//vnlnsSqePnll3POOefke9/7Xm6++eZcd911efDBB7PTTjtl/fXXX6lt1tTUpKqqKrfccks22mijbLfddkmSE044IV/96lebZJ955pmMHDkyU6dOzTrrrJMhQ4ZkwoQJ2WKLLdK3b98m2eeffz5vvfVW4/9OP/30DBw4MG+99VazuZ577rnZd999M3PmzBx33HGpqanJDTfckP79+2eTTTZpzE2aNCk1NTXp2bNnjjvuuPz617/O9ddfn2233TZbbLFFk23utttu2WijjdK/f/8VPgfPP/98Ro8enXvuuScbb7xxqqqqcvPNN6dPnz6Nz8dSL730Us4444z86Ec/yve///1Mnjw5f/rTnzJgwID07NlzxU847do999yTW265JXfddVemTZuWurq6fOxjH0tFRcVKbW/OnDn58Y9/nOnTp2eHHXZIjx49kiSXX355dt999ybZ+vr63HvvvamtrU1lZWXOP//81NTUZOedd84666yz3HHGjh2bvfbaq8X77r777my33XZZsGBBLr300lxzzTV55plnsvPOO2fttdduzL388suZMWNGNtlkk4wbNy7XXnttnnzyyXzyk59M9+7dm2xz+PDhGThw4ArntdT999+fV155JZtsskkuuuii3Hnnndlpp51SWVnZLHvnnXfmZz/7We6+++488sgjqa+vz1ZbbdXidu2vjrO/Vve+Ssq/v1q7r5KOt7+S5Mknn8wdd9yRKVOm5G9/+1u6du2ajTfeuFVzasnChQszceLEPPXUU9luu+3StWvXJMnEiROz0047tTj+ggUL0qNHj1x55ZWZPn16PvGJT2SttdZa7jjjx4/Prrvu2uJ9f/7zn7Ppppumvr4+EyZMyG233ZY33ngj/fr1S5cu//fvVW+//XaeeuqpbLzxxvnFL36R22+/Pa+++mp23HHHJrkkufTSS7PLLruscF5LPf3003nrrbeywQYb5JprrsnkyZOz0047Nfs5SJJHH300v/71r/PAAw9k9uzZ6dWrVzbYYIMWt+v90Ouro7y+kta/xry+vL6W6kivr5Z0+KtmHHfccRk+fHh23nnnxttmzJiR6urqTJw4caW2edhhh2X8+PGpr6/PsGHD8tWvfjVf/epXc+yxx+amm25qkj366KMzbNiwvPrqq7nooovyu9/9Lt27d8+JJ57YbPzPfvaz+chHPpKPfvSjaWhoyJNPPpkddtghFRUVufHGG5s9rhtvvDHHH398zj///Gy99dZ54403Mnz48Nx8882NuUMOOSQ33XRThg4dmvPPPz99+/bNG2+8kVNOOSWTJk1qss3DDz88/fv3zzPPPJNTTz212Yv6g4455piccsopmTdvXkaNGpU77rgjlZWVOeGEE3Lrrbc2yQ4ZMiQjR45M3759M2PGjNx777054IAD8pOf/CRXX311s23fc889eeihhzJv3rz07t07u+66aw488MBV/vB99dVXp3v37jn++OMbi53LL788p556apNsfX19ampqUllZmR122CFjx45Nly5dcsYZZ2SjjTZa7jhjx47NOeec0+z2u+++O1/4wheyYMGCXHbZZXnyySfTv3//DB06tFkZ8/LLL+e5557LHnvskauvvjqzZs3Kxz72sZx88snN3mSGDx+ec889NxtuuGGrnof7778/3bp1y+67757q6uq88847OeOMM7Lppps2y95555155JFH8u6772b99dfPpz/96QwePLhJ5oILLkh9fX0GDx6cnj17pq6uLlOmTMnixYtz0UUXNeY+/DPxQYcffniTr0888cTst99+Wbx4cSZMmJCrr746m222WePP/Actfa5ra2vz1ltv5fDDD0/Pnj1zxx135KqrrmqSPeKIIxr/u6GhIc8++2w+9rGPJUmz1+LSsUaMGJEtttgi++23Xx566KE89thjueSSSxpzRx11VIYNG5Zf//rX2WSTTbLPPvtk+vTpmTp1arOf7X322SfrrrtujjnmmHzta19b7s/ziBEjsnDhwtTV1WXOnDn58pe/nI033jg/+9nPcs011zTJXnjhhamsrMynPvWp3Hfffdlwww3z1ltvpVevXjn99NObZO2vjrO/Wruvko61v1q7r5KOtb+Sf/4+efzxxzNo0KDGfTZ16tT069evSXbq1KnLnNugQYOafD1s2LBstdVWWbx4cR5++OFcc801WXfddVvcX5dccklmzpyZ+fPnp0+fPtlxxx3Ts2fPPPnkk82e2zPOOKPxOWpoaMi0adOy5557Nm7ng5aO9b3vfS91dXXZd99986c//SnvvfdeRo8e3ZgbMmRIjjjiiDz22GN5++2387nPfS7Tp0/PP/7xj2bbHDRoUDbZZJOceeaZjeMuy49//ONMmzYtCxcuzKabbpott9wyffr0yfTp03PFFVc0yV511VV59tlnM2DAgEyePDnbbLNNXnrppfzrv/5rjj766CZZ74ed8/WVtP411pFeX0nrX2NeX15fScf6/bUs3VqVascWLVrUpIRIkl122aXF7LHHHpv333+/yW0NDQ2pqKho8oO41lprZd11102SjBs3Lv/+7/+ef/mXf2nxB6e+vr7xD/pp06Y1/sHYrVvzp3bSpEkZPXp0jjzyyHzmM59psdj4sK5du2brrbdOkmy88cbNDs9Ya621ss4666Rnz56NKyA23njjFufavXv3jBo1Kn/5y19y9dVXZ8yYMdlzzz2zxRZb5LjjjmuSXbx4cT796U+noaEhl156aWNj1tLjmj9/fuPqj1122SXf//73M3z48LzzzjvNsst645o6dWqzD99tcdZZZzW+eR1zzDGNb14PP/xws+yIESOSNH/zGjlyZKvevGbOnJmk6ZvXz372s3zhC1/IRRddlC222CIjR47MQw89lFGjRjX7pfSd73wnw4YNy0UXXZRNNtkkp59+eqZPn57hw4c3e/N67LHHcuKJJ7b5zeuyyy5rfPM677zzlvnmtc8+++S+++5Lr169MmXKlDz66KNN3pCefvrpJsVXkuy7775Nnpckee6553Lffffly1/+8jLnt9SiRYsaf/nsuOOOOeWUU3LTTTe1eFjPiy++mAkTJmTRokU56KCDcuihhyZp+Rfb0UcfnUmTJmXEiBHp0aNHhg8f3uy5b2n7S3/utt122/z+979vcn/Xrl2zxx575KqrrsqYMWMa53z33Xc329Zmm22WK664Ij/5yU/y5S9/OV/60pcyePDgbLHFFunVq1eT7AsvvJBbbrklDQ0N+bd/+7fGX/A33HBDs+0++eSTjftg8ODBOeGEE3LdddflyCOPbJa1vzrO/mrtvko65v5a0b5KOtb+SpIHH3wwEyZMaHLbsccem8MOO6zJ++Ztt92WJ554InvssUezbXz4g9zSfwFMkt///vcZOnRorr/++hb31/Tp0zNx4sTU1dXloIMOyn/91381zuHDtt9++0yePDnf/va306VLlzz33HPNPvR/2OOPP55bbrklSbL33ns32+6iRYuy33775cYbb2z87PL5z3++xZ/Zvn375uKLL87FF1+ccePG5bDDDstee+3V+Nnqgx566KFMnDgxixYtype+9KVcdtllSZJ77723WfaPf/xj4xwPO+ywnHzyyRk/fnyOOOKIZn8oeT/snK+vpPWvsY70+kpa/xrz+vL6SjrW769l6fBFxMc//vGcc8452WuvvVJZWZm6urpMnjw5H//4x5tlzzzzzIwcOTJXXHFF4/KRlmy22WYZO3Zshg0bll69euXyyy/PkCFDWvzDum/fvhkxYkTGjBmT6urqJMnVV1/d4r+sb7jhhvnRj36U733ve/nLX/6y3Mc1f/78fO1rX8uCBQty++2358tf/nKqq6ub/cv2Pvvsk6FDh2b77bfPN7/5zey111754x//2GJDuvQH4xOf+EQuu+yyzJs3L9OnT8/zzz/f4nPw//7f/8uSJUvSs2fP/PCHP0yvXr3Sp0+fZtnNN988o0aNyuDBg3P//fdnp512yv3339+4pOqD2vLhe/jw4ct8fj78BtJe3rw624fv+vr6/PnPf87AgQMbb5s+fXqz5YDnnHNOnnvuuQwePDif/OQnl/n8JMmSJUvy1FNP5eMf/3gGDBiQb37zmxk6dGgWLFjQYv6RRx7Jrrvumuuuuy7JP5/jls7DctBBB2XbbbfN97///Zx99tnp3r17Nttssxa3+cILL+T6669P165d89e//jX9+vXLX/7yl2ZFZWVlZX77299m7733zi9/+ct87nOfy+TJk1v82a6oqEjv3r0zcuTIzJkzJ7/97W8zbty4vPDCC7nzzjubZBcvXpwpU6bkrbfeyptvvplnn302vXr1yuLFi5ttd+HChZk5c2Z23nnn/PnPf07Xrl3z9ttv5913322WbWl/Pfzww51yfz3++OOt2l/Lei9q6/764x//mLlz5zbur549e67S/mrtayvpWPtr6b7q1q3bcvdVUuz+Wh2vr8WLF+eVV17J5ptv3njbK6+80mx59Q9/+MMcc8wxOemkk7LNNts0284Hvf/++5kzZ0422GCD7L///nnttdcyfPjwFp+v+vr6vPbaa9l0003zwx/+MEnyzjvvtLi/Tj755Oy444655ZZb8t3vfje9e/de5irI119/PX/4wx9SWVnZ+PjeeOONZueF6tatWx5//PEMGDAg06dPz2677ZY///nPzR5/8s/9tcUWW+TKK6/MU089lTvuuCPXXntt3nzzzUyePLnZc/Dcc89l7ty5mTt3bmpra9OjR48sXLiw2XYXLFiQV199NZtttlle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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(18,8))\n", "dn.plot(kind=\"bar\",stacked=False,ax=ax)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 532 }, "colab_type": "code", "id": "u30zWuzMQLjj", "outputId": "90b4c892-a150-4b11-8f1e-e3d48048760c" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ep/X9WxCxzzrZ0VANS2pOUgqSf+MZPnvyfLWWUfSfb0v98t7z3zJ71+RJMTptcuBwFphYPS/+C9/2ffsDCNmof/F37Gcfts1HWzTwbHsdF96zjnn9sIDN60d08a1HFzLJWO5uKarlR5ERERERORNs6KCiEajQaFQ6G9blkUYhtj2hbs5OprDtlfXF6RTu/6c2VdeJjYMEpO0NohNg8QgbdNrG2Z/X2KQ7jfScta5Zi8oiByTOA0SYsckskxiE0hnHxgXWjPigruMix82zj3mvM61Z19jnH3c6NXL7eX9BmAYZm9Xeo2BgWEY515nGGedb6SzK87axsAwwDRMwMDs7zP6n28YBiYmpOeZ/ePGWdtmel7vZ5uY/XOWP89Mf7aZ/rqYholj2lim1Q8Lzq8tLNPCMpZrs1+bRu+4aZpYhtmbaWCdCQ2stE+Xq8nJkWF3QWRF0tgQOZ/GhciFaWzIarCigohCoUCz2exvx3F80RACoFptDaJbb6q//9t/0BR0OV988d1dEroEwJvzToaVSuNC5MI0NkTOp3EhcmEaG7LSXCwYG8TTAW/YTTfdxP79+wE4fPgw27ZtG3KPREREREREROTNtKJmRLzrXe/i+eef56677iJJEh566KFhd0lERERERERE3kQrKogwTZMvfvGLw+6GiIiIiIiIiFwiK+rRDBERERERERG5vCmIEBEREREREZGBURAhIiIiIiIiIgOjIEJEREREREREBkZBhIiIiIiIiIgMjIIIERERERERERkYBREiIiIiIiIiMjAKIkRERERERERkYBREiIiIiIiIiMjAKIgQERERERERkYFRECEiIiIiIiIiA6MgQkREREREREQGRkGEiIiIiIiIiAyMgggRERERERERGRgFESIiIiIiIiIyMEaSJMmwOyEiIiIiIiIia4NmRIiIiIiIiIjIwCiIEBEREREREZGBURAhIiIiIiIiIgOjIEJEREREREREBkZBhIiIiIiIiIgMjIIIERERERERERkYe9gdWEviOGbv3r0cO3YM13XZt28f09PTw+6WyMAFQcD999/P7Owsvu/zsY99jC1btnDfffdhGAZbt27l85//PKaprFTWpvn5ed73vvfxrW99C9u2NTZkzfvGN77Bj3/8Y4Ig4AMf+AA7duzQuJA1LwgC7rvvPmZnZzFNkwcffFD/zZBVQ/9UDtDTTz+N7/s88cQT3HvvvTz88MPD7pLIUDz55JOUy2Uef/xxvvnNb/Lggw/ypS99iXvuuYfHH3+cJEn40Y9+NOxuigxFEAR87nOfw/M8AI0NWfMOHDjAoUOH+O53v8tjjz3GyZMnNS5EgGeeeYYwDPne977Hnj17+OpXv6qxIauGgogBOnjwILt27QLgxhtv5MiRI0Pukchw3HnnnXziE58AIEkSLMvixRdfZMeOHQDs3r2bn/zkJ8PsosjQPPLII9x1111MTU0BaGzImvfcc8+xbds29uzZw0c/+lHuuOMOjQsRYPPmzURRRBzHNBoNbNvW2JBVQ0HEADUaDQqFQn/bsizCMBxij0SGI5/PUygUaDQafPzjH+eee+4hSRIMw+gfX1paGnIvRQbvBz/4AWNjY/3QGtDYkDWvWq1y5MgRvva1r/GFL3yBT33qUxoXIkAul2N2dpZ3v/vdPPDAA9x9990aG7Jq6B0RA1QoFGg2m/3tOI6xbf0WyNp04sQJ9uzZwwc/+EHe+9738pWvfKV/rNlsUiwWh9g7keH4/ve/j2EYvPDCCxw9epTPfOYzLCws9I9rbMhaVC6XmZmZwXVdZmZmyGQynDx5sn9c40LWqkcffZTbb7+de++9lxMnTvDhD3+YIAj6xzU2ZCXTjIgBuummm9i/fz8Ahw8fZtu2bUPukchwzM3N8ZGPfIRPf/rTvP/97wfg2muv5cCBAwDs37+fW265ZZhdFBmK73znO3z729/mscce45prruGRRx5h9+7dGhuypt188808++yzJEnCqVOnaLfb7Ny5U+NC1rxiscjIyAgApVKJMAz15ylZNYwkSZJhd2KtWF414+WXXyZJEh566CGuvvrqYXdLZOD27dvHU089xczMTH/fZz/7Wfbt20cQBMzMzLBv3z4syxpiL0WG6+6772bv3r2YpskDDzygsSFr2pe//GUOHDhAkiR88pOfZOPGjRoXsuY1m03uv/9+KpUKQRDwoQ99iO3bt2tsyKqgIEJEREREREREBkaPZoiIiIiIiIjIwCiIEBEREREREZGBURAhIiIiIiIiIgOjIEJEREREREREBkZBhIiIiIiIiIgMjIIIERERERERERkYBREiIiIiIiIiMjAKIkRERERERERkYP4P52+yaAQ9tXUAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(18,8))\n", "dn.plot(kind=\"line\",stacked=False,ax=ax )\n", "#dn.plot(kind=\"area\", stacked=False,ax=ax )\n" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 76 }, "colab_type": "code", "id": "100nzZ8eV3G1", "outputId": "aa0cbddf-3b93-468d-ab5c-b0e83ac4d58a" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
totale_casidecedutitotale_positivi
922305553295552942
\n", "
" ], "text/plain": [ " totale_casi deceduti totale_positivi\n", "92 230555 32955 52942" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfin = dn.tail(1)\n", "dfin = dfin.drop(columns=\"data\")\n", "dfin" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 35 }, "colab_type": "code", "id": "oK6flaHHbHLj", "outputId": "c1de9816-cc03-4840-90cb-c6bda98b2ad6" }, "outputs": [ { "data": { "text/plain": [ "[230555, 32955, 52942]" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#list(dfin.columns)\n", "list(dfin.iloc[0,:])\n", "list(dfin.values[0])" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 133 }, "colab_type": "code", "id": "iEYDPVTbYU4c", "outputId": "4292926c-17ef-4f14-9944-d767f6560f3a" }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
numero_di_contagiati
totale_casi230555
deceduti32955
totale_positivi52942
\n", "
" ], "text/plain": [ " numero_di_contagiati\n", "totale_casi 230555\n", "deceduti 32955\n", "totale_positivi 52942" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = {\n", " 'numero_di_contagiati': list(dfin.values[0])\n", " }\n", "dpie = pd.DataFrame(d,index= list(dfin.columns))\n", "dpie\n", "\n" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 497 }, "colab_type": "code", "id": "wrdLFWNGV_vR", "outputId": "d3ea74d2-e96d-4722-9728-fed71263dbc6" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(18,8))\n", "dpie.plot(kind=\"pie\", y=\"numero_di_contagiati\",ax=ax,autopct='%1.0f%%', pctdistance=1.1, labeldistance=1.2)\n", "fig.savefig(\"covid19.png\") " ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 532 }, "colab_type": "code", "id": "mjGhmmuCQX5o", "outputId": "39894dfa-cb8c-47d2-8724-b2786a94e413" }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAHRCAYAAADEy9qPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3de5jVZb3//9caBkRORTrWtUUQDb+GdkZxF2BpiR2MMhUPSQUewtxJmSKooIWimbvclNutaXncyuWJ3JVmpJKQ/OyABmqKKR5DRFQYldOs3x/7ih054Jj3msXg4/HXzFprPvebz8zt8npen7VWpVqtVgMAAABQQEO9BwAAAAA2H0IDAAAAUIzQAAAAABQjNAAAAADFCA0AAABAMUIDAAAAUExjvQfYmCVLltd7hNeld+9uWbbspXqPAZscewNaZ29A6+wNaJ29waamqalnq7e7oqGgxsZO9R4BNkn2BrTO3oDW2RvQOnuDjkJoAAAAAIoRGgAAAIBihAYAAACgGKEBAAAAKEZoAAAAAIoRGgAAAIBihAYAAACgmMZ6DwAAAABtNfqsXxc93iUn7VX0eLiiAQAAADZq5cqVuemmGzd4/7x5f8jChQ9t8P6f//ym/Od/TqvFaBv00EN/zo9/fFG7rvk3QgMAAABsxHPPLd1oaPjZz36aZ59d0o4TvbYBA/5fvvzlI+uytpdOAAAAwEZcdtklefTRR/LjH1+U++9fkObm5qxduzZHHjk23bv3yNy5v82DDz6Q7bffIbNn35E77rgtL7/8ct761rfmzDO/u96xrr326tx66y2pVCrZe+99cuCBB29w3f/5nxtzww3XpaVlbYYM2TNjxhyd66675lXHf/rppzJ16unp1KkxLS0tmTx5Sp588onMmHFdTj99aq1Pz6sIDQAAALARo0aNzsMPL0xzc3MGDRqcgw46JEuWPJNjjjki06fPyODB/5q9994n22yzTV544YV8//vnp6GhId/4xrG5//4F647zyCN/ycyZt+b883+UJPn617+awYP3SN++279qzWXLnssVV1yaSy/973TpskUuuOAHaW5e0erxH3rowbzrXbvkmGOOyz33/DHNzSva69S0SmgAAACANli06JHss8++SZKmpm3SrVv3LFv23Lr7Gxoa0rlz55x22snZcsst88wzz2TNmjXr7v/LXx7O4sV/zXHHjU2SLF++PI8//niroeHJJ59M//47ZostuiZJxo79tyRp9fif/vSIXHnlpTn++H9L9+49cvTRX63VKWgToQEAAAA2olJpSLXakn79+ueee+Zlp512zpIlz2T58hfTq9dbUqlUUq22ZOHChzJr1u256KJL88orr2TMmC+sd5y+fftl++13yLnn/kcqlUquuebK7LjjgFbX3HbbPnnssUezatWqdOnSJaeccmI+//mRrR7/zjvvyHvf+/6MHn1Ubr315lx55aXZd99P1fy8bIjQAAAAQIdRj4+j7N27d1avXpPm5hX5wx/uzu23z8zKlStz4oknp7GxMQMH7poLLvhBJk8+I1tuuWXGjh2dJNlqq63Xe5PIAQN2yqBBu+WYY8Zk1arVede7dklTU9MG1zzssC/m2GOPSqVSyYc/PDTvetcurR5/l13enSlTJufSSy9OS0tL/u3fvlHXl09UqtVqtW6rv4YlS5bXe4TXpampZ4ebGdqDvQGtszegdfYGtM7eYFPT1NSz1dtd0QAAAAB1cuedd+Tqq6981e0HHnhI9tzzo3WY6I0TGgAAAKBOhgzZM0OG7FnvMYpqqPcAAAAAwObDFQ018NVfn1jvETZbP9zrO/UeAQAAgI1wRQMAAABQjCsaAAAA6DBKX0H+eq+aXrlyZQ477IBce+1NxWa48cZrs3Tp0owZc3Sr97/44gu5667fZp999s3ll/8kH/zgoAwcuGux9UtzRQMAAABswhYufCizZ9+RJDn88C9t0pEhcUUDAAAAbNRLL72Ub33rlCxfvjzbbtsnSfLwwwvz/e+fk2q1mre85S2ZMGFyunfvnu997zu5//4FWb16TcaMOSpDh34kF1zwg9xzzx/T0tKSkSMPy157fSz33DMv55333fTs2SudOnXKLrvsmqeffiqTJ0/MhRf+JEly1FFfyumnn5nLLrskCxc+lBkzrs/8+fdm7733yR57fKiOZ2TjhAYAAADYiBtvvC79+++Yo4/+ahYsmJ8//OF3OfvsKZkwYVL6998h//M/N+bKKy/NzjsPzAsvPJ+LLrosL774Yq655so0NnbO008/mf/8z4uzcuXKHH30l7PbboNz7rlTM2XKd9K3b79897tTN7r+qFGjM2PGdRkxYv/Mn39vO/2r/3lCAwAAAGzE448/lg996MNJkl122TWNjY1ZtOiRnHvuWUmStWvXpE+fvnnssUXZZZf3JEl69eqVI48cmyuvvDR//vMDOfbYo5Ika9asyV//+lSee+659O3bL0ny7ne/N0888fir1q1Wq+3xzytOaAAAAICN6N+/f+bP/1OGDv1IHnzwgaxZsyZ9+/bLKad8K+94xzty773zsnTps2lsbMxtt81MkqxYsSKTJp2U/fc/MO9//6CMH39yWlpa8pOf/CjbbtsnTU1NefTRR7L99v1z//33pWfPnunSpUuWLVuWtWvX5qWXXsrTTz+VJGloaEhLS8eJDkIDAAAAbMSIEZ/PlCmTM3bsmPTrt306d+6c44+fkClTJmXt2rWpVCo56aRTs912ffO73/1/GTt2TNauXZsvf/nI7LHHh/LHP/4+xxxzRF5++aUMG/bRdOvWPSecMDFTpvzv+zp069YtPXv2zFZbbZ3ddts9Rx45Kv/yL33Sp892SZJtt+2Tv/xlYaZPv6rOZ6JtKtVN+FqMJUuW13uE16WpqWeWLFle/ONW+D+v96Nn2DT8bW8A67M3oHX2BrTO3mBT09TUs9XbfbwlAAAAUIzQAAAAABQjNAAAAADFCA0AAABAMUIDAAAAUIzQAAAAABTTWO8BAAAAoK0ePOJLRY+3049+8pqPWblyZX75y19kv/0+2+r98+b9IT169Mw73zmg1ft//vObsmjRoxk79t/eyKiv23nnnZuRIw9Lt25b5q67fpt99tk3l1/+k3zwg4MycOCur3r8XXfNyeLFf82IEfu/oXVd0QAAAAAb8dxzS3PTTTdu8P6f/eynefbZJe04Udscd9zxecc73pGFCx/K7Nl3JEkOP/xLrUaGJNljjw+94ciQuKIBAAAANuqyyy7Jo48+kh//+KLcf/+CNDc3Z+3atTnyyLHp3r1H5s79bR588IFsv/0OmT37jtxxx215+eWX89a3vjVnnvnd9Y517bVX59Zbb0mlUsnee++TAw88eIPrHnjgiAwcuEueeuqJ9O+/Y0466dQ0Nzfn298+db0ZPvjB3fJf//XD/PGPv8/atWuy55575Qtf+FKOPfaonHDCxFx22SVZuPChzJhxfebPvzd7771PfvrTG3LggQfn/e//YB544L785Cc/yrBhHy1y5YXQAAAAABsxatToPPzwwjQ3N2fQoME56KBDsmTJMznmmCMyffqMDB78r9l7732yzTbb5IUXXsj3v39+Ghoa8o1vHJv771+w7jiPPPKXzJx5a84//0dJkq9//asZPHiP9O27favrLlmyOEce+YP06bNdTj31pPzmN7fnT3+6t9UZbr315kyb9l/Zaqut8/Of3/Sq+WfMuC4jRuyf+fPvTZLst99n84tf/E/e//4P5mc/uyn77fe5vPDC80XOl9AAAAAAbbBo0SPZZ599kyRNTdukW7fuWbbsuXX3NzQ0pHPnzjnttJOz5ZZb5plnnsmaNWvW3f+XvzycxYv/muOOG5skWb58eR5//PENhoa3v/0d6dNnuyTJu9/9njz22KINzjBp0rdzwQXTsnTp0uyxx4de898yePC/5vzzz8uLL76Qe+/9Y8aN+2ZuueXn/9R5+UdCAwAAAGxEpdKQarUl/fr1zz33zMtOO+2cJUueyfLlL6ZXr7ekUqmkWm3JwoUPZdas23PRRZfmlVdeyZgxX1jvOH379sv22++Qc8/9j1QqlVxzzZXZccfW30AySZYsWZKlS5/NVlttnXvvvSf77vvJvPDCC6+aoUePnrnttpk57bQzkyRf+MKB+djHhq87TkNDQ1paqusdu6GhIR/96Mfy3e+elaFDP5JOnToVO19CAwAAAGxE7969s3r1mjQ3r8gf/nB3br99ZlauXJkTTzw5jY2NGThw11xwwQ8yefIZ2XLLLTN27OgkyVZbbb3em0QOGLBTBg3aLcccMyarVq3Ou961S5qamja4bpcunfO9730nixcvzi67vDsf/vCwvOc978vUqd9ab4YuXbqkV69eOeqoL2WLLbbIbrvtkbe//R3rjrPttn3yl78szPTpV613/E996jM56KARufrqG4qer0q1Wq2+9sPqY8mS5fUe4XVpauqZJUuW56u/PrHeo2y2frjXd+o9Av+Ev+0NYH32BrTO3oDW2RtvPp/5zPD89Ke31HuMDWpq6tnq7a5oAAAAgDq58847cvXVV77q9gMPPKQO05QhNAAAAECdDBmyZ4YM2bPV+/bc86PtPE0ZDfUeAAAAANh81PSKhs997nPp0aNHkqRPnz4ZOXJkzjjjjHTq1ClDhgzJscceW8vlAQAAgHZWs9CwcuXKVKvVXH755etuGzFiRKZNm5btttsuRx11VO67774MHDiwViMAAAAA7axmL5144IEH8vLLL2f06NEZNWpU7r777qxatSp9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HHHEEUmSpUuX5itf+Uquueaamg4GAAAAdDxtuqJh+vTpmT59epJk2223zfXXX5+DDjooI0eO3ODPrF27NqecckoeeeSRVCqVnH766dliiy1y0kknpVKpZMCAAZk8eXIaGtrUOgAAAIAOoE2hYfXq1et9skTnzp1f82duu+22JMnVV1+duXPn5nvf+16q1WrGjRuXwYMHZ9KkSZk5c2Y+/vGP/5OjAwAAAJuaNoWGj33sY/niF7+YT3ziE0mSX/7yl9lrr71e82c+8pGPJEmeeuqp9OrVK3PmzMnuu++eJBk2bFhmz54tNAAAAMBmpE2h4YQTTsjNN9+cu+++O42NjRk1alQ+9rGPvfbBGxszfvz43HrrrfmP//iPzJ49O5VKJUnSvXv3LF++/I1NDwAAAGxS2hQakmTHHXfM1ltvnWq1miS5++67s9tuu73mz5199tn55je/mYMOOigrV65cd3tzc3N69eq10Z/t3btbGhs7tXXETUJTU896j7BZc37bV8nz7XfHpm72iPb/uOYH233F+vjwjOvqPQIdkOcNaJ29QUfQptBw+umn57bbbst222237rZKpZLLLrtsgz9z4403ZvHixTn66KOz5ZZbplKpZNddd83cuXMzePDgzJo1K3vsscdG11227KU2/jM2DU1NPbNkias0asn5bV+lzre9AW9u9j+vl+cNaJ29waZmQ+GrTaFh9uzZufnmm9O1a9c2L7jPPvtkwoQJOeyww7JmzZpMnDgxO+64Y0499dT8+7//e3bYYYcMHz68zccDAAAANn1tCg3bbbfdupdMtFW3bt1y3nnnver2K6644nUdBwAAAOg42hQa3vKWt+RTn/pU3v/+96/3MZdTp06t2WAAAABAx9Om0DB06NAMHTq01rMAAAAAHVybQsPnPve5PPHEE1m4cGGGDBmSp59+er03hgQAAABIkoa2POjnP/95xo4dmzPOOCMvvPBCDj744MyYMaPWswEAAAAdTJtCw0UXXZT//u//Tvfu3bPVVlvlhhtuyIUXXljr2QAAAIAOpk2hoaGhIT169Fj3/TbbbJOGhjb9KAAAAPAm0qb3aBgwYECuuOKKrFmzJvfff3+uuuqq7LzzzrWeDQAAAOhg2nRZwqRJk7J48eJsscUWmThxYnr06JHJkyfXejYAAACgg2nTFQ3dunXL8ccfn+OPP77W8wAA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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(18,8))\n", "dn.plot(kind=\"hist\",ax=ax,bins=10,rwidth=0.95)" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "3MRY3z8AeOyz" }, "source": [ "## Grafici usando Matplotlib\n", "\n", "* [MatplotLib Style Sheet](https://matplotlib.org/3.1.0/gallery/style_sheets/style_sheets_reference.html)\n", "* [MatplotLib Documentation Tutorial](https://matplotlib.org/tutorials/index.html)\n", "* [Matplotlib Pyplot tutorial](https://matplotlib.org/3.1.0/tutorials/introductory/pyplot.html)\n", "* [Matplotlib style example](http://futurile.net/2016/02/27/matplotlib-beautiful-plots-with-style/)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 537 }, "colab_type": "code", "id": "-t92xLfzCMdS", "outputId": "076149d4-f52a-4636-8255-1908c815ddba" }, "outputs": [ { "data": { "image/png": "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QHIyXrOmO11basUyLo+byMXDx8BsznNmhQpviogzysAoZPPnezgdX7DA+XhBO3/+T/bt20ObNu3swQsAPz8/hg0bmWPuN998ibe3D088MTbHeIMGAdxzTzciIg5x9OjvAPz44/cAPPPMBHvwAqBr1x4MGTKMO+9san/PrHkT7cELgCpVqtK79yOcP/8nu3bttL+nwWBgzJh/24MXACNHPon3P+5KioiIiEje5JZZYf58De4/b6HsvfdQ4Y7auJ084XS98fTJv97IDFxfZoVamorIlZSBcRPeeMODOXPM9tcbNiQD0K2bl33s2WfTeP75dO6804s//sj6obpxYws//pjCxIlmIiKMTt/70CEjFSv6MGdOKo89lkHFin//1r9790yWL7/Mo4+W5ocf/v5X+OefiXz8sTvPPlsqx9e+GUeORANQv35Dh2eNGjW2/3NKSgonT56gfPnyfPTREoe52ZkaR45EUatWbY4cieZf/6qEv3/FHPMMBgOjRz9lfx0VFYGHh5nPP//U4T1PnjwOZF1xad++g/09/fzK5Zjn4eFB/foNc1w3EREREZFr85w/1/l48JvEfxJK8qTpZDRviV/Pe5RZISK3nAIYN+H559OdBgj+/DPRYezgwWSHsblz0/j1V6PTIEZAgIWwsJSrvufy5Zcdxh57LIPHHsu45t7zKjEx6+t6eno5PPP1LWP/5+TkJCArUPHBB+/l+n4JCfF/vW8C5crdnqevb7FYrvGeCfb39POr4XSOj4/vNb+WiIiISEly1ashSUmYN/6A8fAhp2uNR49grVYda7XqQFZmRV7amYKKborIjVMAo5CNH5/+V82LnMaNu7nMifySXe8hO0DxT5cv/x1gKV3aE4AmTZrx9tu5Bxv+OT8lJcXps8uXL1O6dGn7PE9PTz7//Ns87NWXpCTHfWa/5z8ZDAYAbDarw9zU1NRrfi0RERGRoiz7aki27KshCYDb2bN4zn2dzJatsFaqjPFsjMN6ZVaISGFQDYxC1qdPJp98kpVxYTLZCAiwEBLiOgU869Wrj8Fg4ODB/Q7PDh+OsP+zt7c3//pXJY4dO0pammMAYP36b1iyJISzf/0FWLt2Hf744xwXL15wmDts2CAGDHgYgDp16nL+/J9O523f/jPvvruY6OgoAOrXb8Cff/7BuXM5O45YLBaioyNzjGXX3bgysAFw5sxph7HsgIeIiIhIcZDr1ZAFc0m77wFifz1A/Oq1JE+b6XSealaISGFQAMMFDBgAYWEpxMQkERaW4jLBC4Dy5SvQpk07du/eRVjYRvt4cnISH3zwbo65vXo9QEJCPO+8swir9e/MhmPHjjJv3pusXr0SX9+sqxzdu9+LzWbjnXcWYrFY7HM3bfqR06dP0bJlawDuvfd+bDYb8+a9QUbG31djLly4wJw5s1m+/EM8PT3/mpvV3nTRomAyM//+Hq5cuYzY2L+7pQBUrVoNo9HInj2/5si42L79Z6KiDjt8H7ILiGZm5t/1HBEREZHCYEhKxBgZ4fSZMSoSa43bsf1VUyytTxAJIUvJDGiEzWQiM6ARCSFLFZwQkUKhKyRyTf/5z/M8+eQIpkx5iY4dA/H3/xfbtm3FzS1nVsKjjw5l584dhIau4sCBvTRr1oLExEQ2b95IauplpkyZgZdXVjeQ++9/iJ9+2sR3333L779H07x5S86fP89PP22icuWq9k4mvXo9wM8/byEsbBO//96fNm3akZlpYfPmDcTHxzNmzL+pWvU2ALp06UZY2EY2b/6RESMepUWLVhw7dpQ9e36lUqXKnDt31r5XPz8/OnYMJCxsE6NGPUa7dh2IiTnDzz//ROPGTTlwYF+Oz5ZdbHT27Fdp1aotffsOuGXfbxEREZGbkVttC/fNGyn98Qe4bwnD5umFIcmxxtqVV0NANStExHUYp02bNq2wN1HQUlJco75ENi8vs8vt6Z98fX25++4uxMXFsmfPr0REHKJx4yY8//wk1q5dQ9269ejU6W5MJhPdu/fE3d2dI0ei2LVrJ3/88QcNG97Biy9O4q67Otnf083NjXvu6YaHhweRkYfZtWsnFy+eJzDwHqZOnUG5cllRf4PBQOfOXShTpizHjv3Orl07OXXqJDVr1mLcuGd54IHeOfYaGNiZ0qVLc+jQIXbv3oWHhwfPPfcKFy9e4OTJEwwf/oR9bps27UhNvUxkZAT79u3F3d2dCRNeoHz58uzcuYPevR+hfPkKANSsWZtDh8I5eHA/J0+eJCioP3v37mbfvj106dKdGjVuv/X/IkogVz8bIoVB50LEOZ2NLNm1LdwunMdgs+F24Tzmb77EUqcuhuRkrLfXJGnOfCz16mP+q139PyXN/C+WhgGFsHO5FXQupKjy8jI7HTfYbDZbAe+l0J0/7xhtLkz+/j4utycRV6CzIeJI50LEOZ2NLH6BbTFFOHYOyQy4g7iwHTnGzGtDVXSzmNO5kKLK39/H6biukIiIiIiIFAG5XQ0xJCbg8cN3mL/5CqOT4AVk1ba4kq6GiEhRowCGiIiIiIiLu1rbU48fvsOQEE/a/Q9hjI7E5CRY4ay2hYhIUaMAhoiIiIiIi8u97WkwcZu3QXbL91KlcgQ6sjlreyoiUtSojaqIiIiIiKtKS8Nj3TcYD+d2NeTw38EL1PZURIo3ZWCIiIiIiBSi3GpbeM59ndLvvUNmgwCslSpjPBvjsFZtT0WkJFEAQ0RERAyEt6AAACAASURBVESkkFyttkXGXR1J7TcQa7XqDvOy6WqIiJQktySAkZGRwcsvv8yZM2dIT0/nySefpE6dOrz44osYDAbq1q3L1KlTcXNzY9GiRYSFhWEymXj55Zdp3LgxJ06cuOm5IiIiIiKuznPeHOfjC4KJC9tuf53WJ4iEv8bV9lRESqpb8pP+V199RdmyZVm5ciXvv/8+M2bMYPbs2YwfP56VK1dis9nYuHEj4eHh/PLLL6xZs4bg4GCmT58OcNNzRUREREQKm3ltKH6B7ahQ2Q+/wHaY14ZmPUhJycqoGBR09doWV0jrE0Rc2HYuxMQSF7ZdwQsRKXFuSQZGz5496dGjBwA2mw2j0Uh4eDitW7cGoFOnTmzbto2aNWvSoUMHDAYDVapUwWKxEBsbe9Nzu3Xrdis+loiIiIhInly17en363CLiyM1qD/GU6cwRUY4rFfbUxERR7ckgOHl5QVAUlISzzzzDOPHj+f111/H8FeFZC8vLxITE0lKSqJs2bI51iUmJmKz2W5q7rX4+XliMhnz7fPmB39/n8LegohL0tkQcaRzIeKcS52NRfOcDvu+PR/27AGjEQ+Acj4wcKDDPNPkV1zr80iRpf+OpDi5ZUU8z549y1NPPcWgQYN44IEHePPNN+3PkpOT8fX1xdvbm+Tk5BzjPj4+OWpY3Mjca4mLS7nZj5ev/P19OH/+2oEXkZJGZ0PEkc6FiHMFeTZy6xoCQHIyHj9txjc8HIOTtbZDh7gQ+4//F+1yH+aQpY61LbrcBzrrcpP0d4YUVbkF3m5JDYwLFy4wfPhwnnvuOYKCsv4wDwgIYOfOnQBs2bKFli1b0rx5c37++WesVisxMTFYrVbKlSt303NFRERERG6F7KshpohwDBaL/WqIeW0o3i9MoPyd9Si95F2sFf/ldH1ubU9V20JE5NoMNpvNlt9vOnPmTNavX0+tWrXsY6+88gozZ84kIyODWrVqMXPmTIxGIwsXLmTLli1YrVZeeuklWrZsybFjx5g8efJNzb0aV4tCKjIq4pzOhogjnQsR5wrqbPgFtsMUEe4wnhnQiIRFIVirV8fmWybXtqcJIUsVoJACo78zpKjKLQPjlgQwXJ2rHeKi8AdLREQ4iYmJtG7d9rrXWiwWvvgilF69HqR06dLXvX7JkhA++OA9XnttDp063X3d64uSdeu+5rXXpvPMMxPo12+QfXzDhu8ICGhE1aq3XXVeXgQFPUBSUiLffReWn1u/JYrC2RApaDoXIs4VyNlIT6dCjX9hsFgcHtlMJi7ExOYYM68NVdtTKVT6O0OKqgK9QiLFy/btPzN69DCOHz96Q+unT5/EvHlvkpmZmc87K37q1q3HsGGjCAi40z62ePFbTJ8+iZSU5KvOy6t+/QYyePDj+bFdERGRYiW3tqduR3/H69UplG/aEJuXt9O1uhoiInLr3bIinlJ8XLoUh9VqveH1sbEX83E3xVvduvWpW7d+jrG4uNg8zcur683YEBERKQmu1vbU/ect2Hx8ufT1d5gO7Hd6NSRl3IQC3K2ISMmkAIaIiIiIlHie8+c6H18QTFzYdvtrS+26JPw1rqshIiIFSwEMuapZs6axfv03ALz1VjBvvRXMmjVfUblyFTZu/IHQ0FVER0dhMBioXbsuQUH96dq1h319hw5/d4W5997ONG3anEWL3gXg3LmzLF/+Ib/88j8uXDiP0WikWrUaPPhgb3r3vvb/BJw+fYqlS99l166dJCUlUqVKVXr2vI+BA4dgMt3Yf9rZn/frr39g0aJ5bNu2FYPBjaZNmzFq1Fhq1aqdY35SUhIff7yEsLBN/PnnH/j4+NKyZWuGDRtF9eo1cszdsOE7Pv/8U44dO4bFkkmNGjW5774H6d37EQyGrEZrV9a2CAp6gHPnzgIwbNhgKlWqTGjo1w7zhg4dwKlTJ/n66x/wuiK1ddmyDwkJWcT06bPp0qVbkaqBISIiUiAyMzFGRjh9ZIw67DCW1idIAQsRkUKgGhguYNVvqwhc1Y7K7/gRuKoda6NDC3tLdh073k3HjoEAtG7djmHDRuHt7cOiRfOZOvVlYmLO0K1bT7p27cHZs2eYNu0VFi9+y75+2LBRVKpUGYDBg4fSq9cDAJw9G8PIkUNYv/4bGjVqTL9+g+jUqTMnThxjzpz/8tlnq6+6r8jIw4wcOYTNm3+kefOW9Os3CF9fX0JC3uaFFyZgcVJc63pMnPgMu3f/yn33PUjLlq3Zvv1nxo4dQXR0lH1OfPwlnnhiKCtXLsPPrxyPPNKPRo3uZOPGHxg16jHCw3+zz/3xx++ZPn0ScXGX6NXrfh588GESExOYO/e/fPTRklz30a/fQOrUqQfAQw89TL9+A53O6979XtLT09m69SeHZxs3/oCXlxcdOnS60W+HiIhIkZZrbYtzZ/Gc81/KtbwTzKWcrnVW20JERAqHMjAK2droUEZv+PseZURsuP11n7qFH9nv1OlukpIS2br1J9q2bUe/foPYv38vq1Ytp169+syduwg/Pz8A4uLiGDduDCtXfkz79h1o2rQ5I0aMZu/e3Zw7d5ZHH30cH5+sarLLl3/IpUuXmDfvbVq1amP/eo880o8nnnicDRu+55FH+jvdk81mY9asqaSnZ/DOO0tp0KCh/dnChcGsXr2SL7/8nIcf7nvDnzshIZ4PP/yEsmXLAhAWtpFJk15gwYI59gySxYvf4uTJEwwdOoJRo560r92x42eef/4/zJgxhRUr1mA0Gvnkk+WULl2apUuX4enpBcDw4aMYNCiI0NDVDB06wp6F8U/9+g0iOjqKI0ei6N37kVzrXnTr1pOQkLfZtGkDPXveZx8/ceI4R45E0avXA5jN5hv+foiIiBRVV6tt4RYTg9sffxC//FNM0ZGqbSEi4uIUwLhBi/ct5M1ds0nOSLol7z96w/AcgY0b4eXuzXOtXmJs06fzaVdZ1q37GoCnnhpvD14A+Pn5MWbM0zz//Hi+/fYrmjZtnut7dO/ei4CARjmCFwABAY0wm81OC1dmCw//jaNHf+fhh/vmCF4AjBz5JJ9/voZ1676+qQDG0KEj7MELgLvv7kLjxk3Zt28P58//Sdmyfvz44/dUqlSZESNG51jbrl0HAgPvISxsI/v376V585bYbFbS0tI4evR3GjVqDICXlzfvvfcRPj6+ToMX16NixX/RtGlzfvnlfyQkJODr6wtkZV9AVoBDRESkJMq1tsW8N4nbstP+2tLoTtW2EBFxcQpg3KB39i28ZcGL/JKckcQ7+xbmewAjOjoKNzc3Gjdu6vAse+zIkSiHZ//UpElTmjRpSkJCPNHRUZw+fYqTJ09w6NBB0tPTr9r1JPKvO6pnzpxhyZIQh+eenp4cORKFzWa74cCAs+BLw4Z3cODAPo4ciaJixUqkpaXRuHFT3Nwcb2I1btyUsLCNHDkSTfPmLXnwwYeZM2c2Y8YMp3bturRt25527e7Kdf2N6N79Xvbs+ZUtWzZz//0PAbBp0wYqVPCnRYtW+fI1REREihpnNSwAjEeiHcZU20JExLUpgHGDnmz69C3NwMgPXu7ePJnPwQuAlJRkPDw8cHd3d3jm7e1NqVKlSE1Nvep7JCQksHBhMBs2fEdmZiYGg4FKlarQokVLIiMjsdlsua5NSkoEYOfO7ezcuT3XeZcvp9iva1wvf/+KDmPly5f/6+sn4eWV9e/9yoKZ2SpU8AcgLS3r+9C79yP4+ZUjNHQVBw7s4/ffo1mx4iP8/Svy73//hy5dut3QPv+pc+cuBAe/waZNG7j//oeIjo7i+PFj9O8/ON+CJCIiIkVGRgalVq2AXH6ZodoWIiJFjwIYN2hs06fzJbPhyhoY2UK6LXWJGhjOeHp6kpqaSmJior2mRba0tDTS0tIoU6ZsLquzzJgxmR07ttG79yP06NGL2rXr2IMNP/zw3VXXli7tCcCLL062Zxrkt7S0VEqVylnMKzExK3BStmxZ+14vXPjT6frExAQAfH3L2McCAzsTGNiZxMRE9uz5lW3btrBhw3dMn/4KNWvWpFatOje1Zy8vb+66qyNbtmwmPv4SmzZtALIyM0RERIor89rQrGsiUYfxq9eAlPETyWjdlrJ97sNS/XaSJ76A9+uzHNaptoWISNGjX8sWsj51g/jkkU8IKN8Ik5uJgPKNXC54ceU1jOyuGAcO7HOYe+DAPmw2GzVr1sp1fWJiIjt2bKNBgwCeffYl7ryziT0gcPZsDOnpaVfNwKhTpy4Ahw87tjvLzMxk4cJ5hIauyuOncy4i4pDDWHj4QYxGI/XrN6R69Rp4eJiJiDhEenq6w9z9+/cCULNmLTIyMvjooyWsXr0CAB8fHwIDO/Pyy1MZOnQEVquVgwcP5LqX67kG06PHvVgsFnbs2MbmzT9y++01qV9fv2ESEZHiKbtApykiHCwWe4FO9507SFgYQnzol1ye+AIJIUvJDGiEzWQiM6ARCSFLdVVERKQIUgDDBQxoNICw/tuJGRNLWP/tLhW8ADAasxJ1MjIyAOytUENCFhEXF2efFxcXx+LFCwDo0aOXfdxkylqfmZm13t3dHTc3NxITE+zvCVlZD/PmvfHX3Mxc99OkSTMqV67Kt99+yW+/5fzBf/nyD1m9egWRkc7vu+bVkiUhJCf/fT1o8+Yf2bPnVzp2DMTXtwweHh507dqdCxfOO9Th+N//trNx4w/cdls17ryzCe7u7mzY8D3vvx/CmTOnc8w9ezYGwN5q1pkrv/9X07btXZQpU4ZVq1Zw+vQpFe8UEZFiLdcCnW/NI7NNW/vrtD5BxIVt50JMLHFh2xW8EBEponSFRK7J3z+rnsMXX3xGQkICffsOoH//waxevYLHHx9A+/adANi+fSsXL15g8OChOYpgZteTmD37VVq1akvfvgPo1KkzYWEbGTVqKK1btyEl5bJ9vY+PL0lJiVitVqe1G4xGI5MmTefZZ5/mqadG0bFjIFWq3EZkZAS7d++icuWqjB7975v6zKdOnWDYsMG0b9+R8+f/YOvWn/6qV/F3uunYseM4eHA/K1Z8xL59e2jUqDExMWfYtm0Lnp6eTJ48w549MWbMU7z00rOMGPEonTt3xcfH177fpk2bO3Rjcfb9X7RoPi1btmb48CdynWsymejcuRtffJHV314BDBERKbYyM3Mv0JnLuIiIFG3KwJBratq0OQ8/3JeEhHg+//xTjh07ytNP/4cpU2ZQqVIVNmxYz+bNG6hWrTqzZr3Bk0/mrA3y2GPDCQhoxK5dO/nss08BeOmlyfTrN5CkpERCQz9l584dNGgQwP/931Luvfc+0tLS2LPn11z31KRJU9599yM6d+7K/v37CA1dxblzZwkKGkBIyFIqVKhwU5956tSZ1KvXgG+//YoDB/bTs+d9vPvuh1SqVMk+p2zZsoSEfMiAAY8SG3uRzz//lMOHD9Gz530sWbKcO+5oZJ/boUMgwcELqV8/gG3bthIauoo///yDYcNGMWfOW1ctsvnww/1o1aoNhw9HEBq6mpSUlKvuvUePrJoXd97ZmCpVqt7U90FERMTlJCdT6v3/o1zbZtg8PZ1OUYFOEZHiyWC7WrGBYur8+cTC3kIO/v4+LrenkmrWrGmsX/8NH3ywgrp16xf2dko8nQ0RRzoXUlJkF+c0Rh3GUq8BKWOfJq3/ILzHjcUtPp6Up57BePoUvqMdi6GrxoVIFv2dIUWVv7+P03FdIRERERERl5JdnDObKSIc36fHkGAwkBS8EIxGADJbtSEB8FwQjCnqMJn1GpAyboKCFyIixZQCGFJsRUdHsmVLWJ7nZxcnFRERkcKVa3HOxQtJ6zcwx1hanyDS+gTh7+9DnH7TLCJSrCmAIcVWdHQUH3zwXp7nN2vW4hbuRkRERPLCkJSI8bBjO3NQcU4RkZJONTBcgO6miTinsyHiSOdCii2rFfOaVXjNmo7hcgpu8fEOUzIDGhEXtt3pcp0NEUc6F1JU5VYDQ11IRERERKRwZWRgiL9Eqc8+JWHpMpLemOd0Wsq4CU7HRUSkZNAVEhEREREpMDm6i9Sqg7VCBayVq5D4f0uI//QLADJbtrYX57R3IVFxThGREk8BDBEREREpEA7dRaIjITqShPlvO8zNLs4pIiKSTVdIRERERKRAeM6b43z83XcKeCciIlIUKQNDRERERG4pQ1IipT5cqu4iIiJyU5SBISIiIiI3zbw2FL/AdlSo7IdfYDvMa0MxXLgAGRm4b/oR04G9WGrWdrrWUq9BAe9WRESKImVgiIiIiMhNcahtERGO7+jhWD09if/sa9If7EP6g30c5mVTdxEREckLZWCIiIiIyE3xnD/X6bj1tmpktmhlf53WJ4iEkKVkBjTCZjKRGdCIhJClKtYpIiJ5ogwMEREREblxyckYIyOcPjIe/d1hTN1FRETkRikDQ0RERERy5ay2BTYbpKdjuHiR8s0DsHl6OV2r2hYiIpKfFMAQEREREaeya1aYIsIxWCz22hblmgXgufgtbOXLE7t9D0lzFzhdr9oWIiKSnxTAEBERERGncqttgbs7Kc9kBSds5curtoWIiBQI1cAQEREREaeMkYedjrudOQ1uOX8PptoWIiJyqykDQ0REREQceE98BtwMTp+ptoWIiBQGBTBERERESiBnxTndTp+idMjbAKT2H0xi8EKna1XbQkRECoOukIiIiIiUMNnFObNlF+e0enmROnIMWCxktm5DZus2JJjNeC4Ixhh1GEu9BqSMm6CrIiIiUigUwBAREREpYXIrzmmtWo3kV6bmGFNtCxERcRW6QiIiIiJSwhijnBfnNB49UsA7ERERyTsFMERERERKEMPFi9jMZqfPVJxTRERcmQIYIiIiIiWAITEB04F92MqWJXXgo07nqDiniIi4MgUwRERERIoRh+4in6/B/Pka/O5qhfmrL8BoJHn2HBJClpIZ0AibyURmQCMSQpaq1oWIiLg0FfEUERERKSacdhcZMwLLbdVIeP9jMlu3sT9TcU4RESlqlIEhIiIiUkzk1l3E5uubI3ghIiJSFCmAISIiIlJM5NpdJCqygHciIiKS/xTAEBERESkmLDVrOR9XdxERESkGVANDREREpChLScFz/hwMmZmkPPdSjhoY9inqLiIiIsWAMjBEREREigCH7iJrQ/H4bh3lOrbGeOIYl594krQ+QeouIiIixZbBZrPZCnsTBe38+cTC3kIO/v4+LrcnEVegsyHiSOeiZLqyu0i21P4DSe07kIxOdxf8plyMzoaII50LKar8/X2cjisDQ0RERMTF5dZdxHTwoIIXIiJSYiiAISIiIuLicu8u4nxcRESkOFIAQ0RERMSVJSWpu4iIiAgKYIiIiIi4LPewTZS7ux2ZDQOcPld3ERERKUkUwBARERFxQZ7/nYHPhKdJfCOYxCXL1F1ERERKPFNhb0BERESkJDOvDcVz/lyMUYex1GtAWo+epDz3MmkPPszlp8Zh8/EFIK1PkAIWIiJSoimAISIiIlJIrmyPaooIxxQRjtW/IqmjnizEnYmIiLgeXSERERERKSS5tUctvWJZAe9ERETE9SmAISIiIlIIDBcvYjx8yOkztUcVERFxpACGiIiIyC1gXhuKX2A7KlT2wy+wHea1oVkPbDa8Xnmecu2aYStT1ulatUcVERFxpACGiIiISD7Lrm1higjHYLFgigjHd/RwvJ4bDwYDmc1aELf1F5Jed36FRO1RRUREHCmAISIiIpLPcqttYf5+PQBpQf2x/qsSaX2C1B5VREQkj9SFRERERCSf5VbDwu3CeYcxtUcVERHJG2VgiIiIiOQj9+0/YzObnT5TbQsREZEbpwCGiIiISD4xf7Icn2fGktpvoNPnqm0hIiJy4xTAEBEREbkOV3YXKb1gLr6D+2LavYu0hx4mdsdukt+Yp9oWIiIi+Uw1MERERETyKLu7SDZTRDjes8K5PGAwmY0awz+ujqi2hYiISP5SBoaIiIhIHuXWXcT9wP4cwQsRERHJfwpgiIiIiOSBIS4W4+FDTp/l1nVERERE8o8CGCIiIiJ54Dt0ELYyZZ0+U3cRERGRW08BDBEREREci3OaP1+D+dNPKBP0EFgsxK/5kqTXnV8hUXcRERGRW09FPEVERKTEc1ac03fMCDJr1iJxwTtgNILRSFqfIBIAzwXBGKMOY6nXgJRxE1SsU0REpAAogCEiIiIlXm7FOSntSWbbdjmG1F1ERESkcOgKiYiIiJR4uRXhVHFOERER16EAhoiIiJRsFgs2Ty/nj1ScU0RExGUogCEiIiIlllvMGTAaSR38mNPnKs4pIiLiOhTAEBERkZInNRWvKS9T9sF74fJlkl99jYSQpWQGNMJmMpEZ0IiEkKWqdSEiIuJCVMRTREREijXz2lA858+1dw25PHgIpVcsw1KrNnE/bIbSpQEV5xQREXF1CmCIiIhIseWsParPpBdJeXwkya/PBYOhEHcnIiIi10NXSERERKTYyq09qscv/1PwQkREpIhRAENERESKLbVHFRERKT5uaQBj//79DBkyBIBDhw7RsWNHhgwZwpAhQ1i3bh0AixYtIigoiAEDBnDgwAEATpw4wcCBAxk0aBBTp07FarVe91wRERGR3Nqgqj2qiIhI0XPLAhjvvfcekyZNIi0tDYDw8HCGDRvGsmXLWLZsGb169SI8PJxffvmFNWvWEBwczPTp0wGYPXs248ePZ+XKldhsNjZu3Hhdc0VERKSEs1rxnP0qGU2aOn2s9qgiIiJFzy0LYFSvXp2FCxfaX//222+EhYUxePBgXn75ZZKSkti9ezcdOnTAYDBQpUoVLBYLsbGxhIeH07p1awA6derE9u3br2uuiIiIlFyGxAR8hw7Efcd2kie/qvaoIiIixcQt60LSo0cPTp8+bX/duHFj+vbtS6NGjXjnnXd4++238fHxoWzZsvY5Xl5eJCYmYrPZMPxVWCt7LCkpKc9zr8XPzxOTyZhfHzVf+Pv7FPYWRFySzoaII52La3htCtS6HebPp4KHBwTUgieGAVn/4+NbqJuTW0lnQ8SRzoUUJwXWRrVbt274+vra/3nGjBl06dKF5ORk+5zk5GR8fHxwc3PLMebr64u3t3ee515LXFxKfnykfOPv78P589cOvIiUNDobIo50LnIyrw3Fc/5cjFGHsVa9jZRRY0h9bjK4u0N8GpBW2FuUAqKzIeJI50KKqtwCbwXWhWTEiBH2wps7duzgjjvuoHnz5vz8889YrVZiYmKwWq2UK1eOgIAAdu7cCcCWLVto2bLldc0VERGR4s+8NhTf0cMxRYRjsFgwnjyBz+SXMH/zZWFvTURERG6BAsvAmDZtGjNmzMDd3Z0KFSowY8YMvL29admyJf3798dqtTJlyhQAXnjhBSZPnkxwcDC1atWiR48eGI3GPM8VERGR4s9z/lzn4wuCVeNCRESkGDLYbDZbYW+ioLlaGpVSu0Sc09kQcaRz8bcKlcpicNI+3WYycSEmthB2JIVJZ0PEkc6FFFWFfoVEREREJF+kpOD1yvPg5vx/Yyz1GhTwhkRERKQgKIAhIiIiRYbhwgX8unbE7eIFEt8IdjonZdyEAt6ViIiIFIQCq4EhIiIicsPS0zFFhJPZuClJc98io91dACR4eeO5IBhj1GEs9RqQMm6C6l+IiIgUUwpgiIiIiMv5Z3tUS43bMaSnk9GmHYnvvG8PXgCk9QlSwEJERKSEUABDREREXEp2e9RspqO/A5A8aVoh7UhERERcgWpgiIiIiEvJtT3qW/MKeCciIiLiShTAEBEREZdijIxwPh51uIB3IiIiIq5EAQwRERFxGd4vTACT8xuuao8qIiJSsimAISIiIoXO7fQpANLuf4jEN+c7naP2qCIiIiVbngIYKSkpHD58GJvNRkpKyq3ek4iIiJQUNhulQ97Gr1sn3M6cJqNjIGkDHyUhZCmZAY2wmUxkBjQiIWSpuo2IiIiUcNfsQrJjxw6mTJmCxWJh1apVPPjgg8yZM4cOHToUxP5ERESkGMnRHrVOXWzu7uDhQdz6TVir3mafp/aoIiIicqVrZmAEBwezcuVKfH19qVixIsuXL+eNN94oiL2JiIhIMZLdHtUUEY7BYsEUeRj33w5yeeQYrLfXLOztiYiIiIu7ZgDDarXi7+9vf12nTp1buiEREREpnnJtj7poQQHvRERERIqia14hqVSpEps3b8ZgMJCQkMCKFSuoUqVKQexNREREihFjpPM2qGqPKiIiInlxzQyMV199la+//pqzZ8/StWtXIiIiePXVVwtibyIiIlIcpKZCcjKWGrc7faz2qCIiIpIX18zAKF++PMHBwQWxFxERESlmTLt24jP+KS4/+TQpL76C7+jhDnPUHlVERETy4poBjK1btzJ//nzi4+Ox2Wz28Y0bN97SjYmIiEgRZrPhNWMq5k8/Iem1N0h/sA8ACYDnguCsLiT1GpAyboK6jYiIiEieXDOAMXPmTF588UXq1q2LwWAoiD2JiIhIEZOjPWrN2qQ89yKZdzYmZewz2CpUsM9Te1QRERG5UdcMYPj5+dG5c+eC2IuIiIgUQdntUbOZjkThO3o4CSFLcwQvRERERG7GNQMYLVq0YPbs2XTs2BGz2Wwfb9Wq1S3dmIiIiBQNubZHXRCsbAsRERHJN9cMYBw4cACAQ4cO2ccMBgMff/zxrduViIiIuD6bDY9vvsIYGeH0sdqjioiISH66ZgBj2bJlACQlJWG1WvH19b3lmxIREREXZrPh/tNmvF6bDhYrluo1MB0/5jBN7VFFREQkP7lda8KpU6cICgqiS5cudO3ald69e3P8+PEC2JqIiIgUNvPaUPwC21Ghsh9+ge0wf7IcMjPxXPwWl58ax6UNP5Hy0mSna9UeVURERPLTNTMwpkyZwsiRI+nZsycA69atY/LkyfbMDBERESmeHIpzRoTjO24sCaVKEf/pF/bxtD5Bao8qIiIiiDE2VgAAIABJREFUt9w1MzDi4uLswQuAXr16cenSpVu6KRERESl8VyvOeaW0PkHEhW3nQkwscWHbFbwQERGRfHfNAIaHhwfh4f/P3n2HR1WlfwD/3pmbTDJphBB6L0kIwSDSImBAxK4QRbGhCxZAgWBQV1zLKl0IJpbVrGtWsFEiI3aKGFg6BGkhjV5CSUgjmbSZub8/8suQMHcykzIt+X6eZ591zj137hngnTvzzjnvSTU+Pnr0KDw9PW06KCIiInIwg4HFOYmIiMipWFxC8sYbb2DmzJlo1aoVJElCYWEhPvjgA3uMjYiIiBxAmXYMPq/OBlQqoLTU5DiLcxIREZEjWExgDBgwABs2bMDp06dhMBjQs2dPuLm52WNsREREZGeKs2fQ6uH7UfLaPyBNeR6+05416cPinEREROQIFhMYhw8fRkpKCp588klMmzYNx44dw7vvvou77rrLHuMjIiIiG1BpkqCOizUW3ay4Yyz0Xbqh7G/PIm/3X5B8/QAARYLA4pxERETkFCzWwJg/fz769euHDRs2wMPDA+vWrcO///1ve4yNiIiIbKB6dxExLRWCXg8xLRXqj+KgOH8OAIzJC4DFOYmIiMh5WExgGAwGDBkyBMnJybjzzjvRsWNH6PV6e4yNiIiIbMDc7iKqzRvtPBIiIiIi61lMYHh6eiIxMRF79uzB6NGjsWLFCnh5edljbERERGQD5nYR4e4iRERE5MwsJjCWLl0KrVaLDz/8EH5+frhy5QpiY+V/uSEiIiLnJh76C1DI3/65uwgRERE5M4tFPKdPnw6NRmN8/Oqrr9p0QERERGQjFRXwmTEVpX97FurPPzM5zN1FiIiIyJlZnIEREBCA/fv3o6Kiwh7jISIioiYmFBZA/cFSQKlE/p87UbLgfRQlJEIXGgZJFKELDUNRQiILdBIREZFTszgD4+jRo3jqqacAAIIgQJIkCIKAtLQ0mw+OiIiI6ufG7VHLxkXB89uvUTH2TkCvB9zdAVTtLsKEBREREbkSiwmM3bt322McRERE1EjV26NWE9NS4Z2WCu0LL6Jk/mIHjoyIiIio8SwuIamoqMBnn32Gv//97yguLsbHH3/M5SREREROyNz2qO7bt9l5JERERERNz2IC47333oNWq0VqaiqUSiXOnj2Lf/zjH/YYGxEREdUDt0clIiKi5sxiAiM1NRUxMTEQRRGenp5YsmQJ618QERE5IUPnLrLt3B6ViIiImgOLCQxBEFBRUQFBEAAA+fn5xv8mIiIiJyBJgFYL7UuzZA9ze1QiIiJqDiwW8Xz66acxefJk5OTkYMGCBdi8eTNeeukle4yNiIiILKmogPdrLwNu7ihe+gEkv1ZQxy837kKijY7hbiNERETULAiSJEmWOh0/fhx79uyBwWDA4MGDERLi2lNRc3KuOXoItQQG+jjdmIicAWODyFTNuBByc+E75SlI/q1R9Mm/AW9vB4+OyHF4zyAyxbggVxUY6CPbbnEGRmVlJbZv347du3dDFEWoVCoEBwdzGQkREZGDuW/dgspht0L7+puAwuKqUCIiIiKXZjGB8eabb6KsrAyPPvooDAYD1q9fj6ysLO5EQkREZEcqTVLVNqmZ6WjdsRPKx96FksXy26YSERERNUcWExiHDh3C77//bnx8++234/7777fpoIiIiOg6lSYJvlOnGB8rz52FOvFz6IZGsL4FERERtRgW55t26NABZ86cMT7Ozc1Fu3btbDooIiIiuk4dJz/TQh2/3M4jISIiInIcizMwdDodxo0bh0GDBkEURaSkpCAwMBBPP/00AGDlypU2HyQREVFLpsxMr1c7ERERUXNkMYExc+bMWo+nTJlipicRERE1Nbctm80e0we59q5gRERERPVhMYExZMgQe4yDiIiIbuD56cfw/NeH0M5+BV6xS0yOa6NjHDAqIiIiIsewmMAgIiIiOysrAzw8oO/TBwUbk2Ho0BH6oGCo45dDzEyHLigE2ugYFvAkIiKiFoUJDCIiIgeq3h5VmZkOfVAIyh57Eh5ff4niZfGouOMuY7/yqAkoj5qAwEAf5Odcc+CIiYiIiBzDbAIjNTUV/fr1w759+2SPDx482GaDIiIiaglu3B5VTEuF9ztvoPSpZ1AZMdyBIyMiIiJyPmYTGN999x3mz5+PDz/80OSYIAjcfYSIiKiRzG2P6nYgxc4jISIiInJ+giRJkqMHYW85Tjb1NjDQx+nGROQMGBvU3LXp4A9Brzdpl0QRudl5sucwLojkMTaITDEuyFUFBvrItpudgTFp0iQIgmD2CTkDg4iIqHH03XtAPHHctJ3boxIRERGZMJvAmDlzJgBgzZo18PDwwPjx4yGKIn7++WeUl5fbbYBERETNUlkZFAUFsoe4PSoRERGRKbMJjCFDhgAAlixZgu+//97YPmDAADz00EO2HxkREVFzZDDAfcNvqLj7XuTtOwT3TRugjl9u3IWE26MSERERybO4jWp5eTlOnTqFHj16AAAyMjKg0+lsPjAiIqLmRii+Bp+Z06G4fAkVIyMhefsYt0clIiIiorpZTGC8/vrrmDRpEtq1aweDwYC8vDzExspXTSciIqIqKk0S1HGx12dWTHke6i8SUDl4KIo++wJQqRw9RCIiIiKXYtUuJBUVFcjMzIQgCAgODoYoWsx7ODVnq8TL6sBE8hgb5KpUmiT4Tp1i0q59cRZK3pkH1FEk2xLGBZE8xgaRKcYFuSpzu5AorDnZ3d0dYWFh6Nevn8snL4iIiGxNHSc/U9E9eUujkhdERERELZlVCQwiIiKynjIzvV7tRERERGQZExhERERNTB8UUq92ImemyUpC5KoIdPjUH5GrIqDJSmpUPyIiooaymMDIy8tDdHQ0hg4dikGDBuGll15Cbm6uPcZGRETkcsSDB6Dv2En2mDY6xs6jITLPmoSDJisJUzdNQVpeKvSSHml5qZi6aQpWHE1EbmkurpZexdXSq/jq2Jey/cw9JxMiRETUEBaLeM6YMQM333wzJk6cCIPBgNWrV2P//v1ISEiw1xibnLMVsmFxHSJ5jA1yNaofvof33FdwbWk8hMoKqOOXX9+FJDqmSbZLZVxQU1iXuRbTNj9r0j66yxi0UrVCbmkucktzkZmfDr2kb/B1vNy8cHf3+xCobou26nY4W3QaX6Z+YdLv3VsX4s7udwEABAjYdHoD3to516RfwthERPWRjyPGBpEpxgW5KnNFPC0mMMaNG4f169fXanvggQfw008/Nd3o7MzZgphvLETyGBvkStz+txU+s19C4YrvoA/rb7PrMC5aLk1WEuJSYpGZn44g/xDMvmWO7Jf5mv16tuqFB3tFoYtPV5wuPIVThSdxqugkjuYehkEyOOBVNI6/qjViBr2Knn690KtVb3Tx6YafT663+Odi7Z8dUXPDewa5qgYnMMaPH49PP/0UHTp0AABkZ2fjpZdegkajafpR2omzBTHfWIjkMTbIJRQXQzyRBV3/cAiFBZD8W9v0coyLlql6KceNxvWKQiefLrhWUYTC8kJk5WcgLe+YzcejFJTwU/kBACRJQmFFoUMSIgpBIXvdqN4TMKzjrfBx90Fq7hF8cvBDkz51zeawhAkRchW8Z5CranAC488//8Q777yD8PBwSJKEQ4cOYd68eRg1apQtxmkXzhbEfGMhksfYIGek0iRBHRdbtTSkR08IpaUov/9BlMxbbJfrMy6aH7kvw+N6P4QTBcdx8MoBHLxyAF+nrUCprtTmY2mnbo+3I95DgGcbBHoGYt+lPXj9f6+Y9Lvxy7+5BMvMm2ejj38wrmgvI0d7Bd+lf4OiikKTfu4Kd3T26QIJVR9Lz187h0pDZRO+MlOeoifu6HYXOnl3Rmfvzujk0wXH8zOxNnMVThQcR5B/MKbe9CJu7zYWJZXF0FZqUaLTYvPp3/HhXx+YPN+cW/6Oe3reB283b3i5ecPL3RsbT/2G+APLmeggh+E9g1xVgxMY6enpaNu2LQ4fPgyDwYDw8HAEBATYZJD24mxBzDcWInmMDXI2Kk0SfKeafkkr+uwLlD/0iF3GwLhoXsx98VcpPVCuL2uy6wgQ8PKgV9Hdtwd6+PVC2tVjeG3bbJN+crMSNFlJtb6ERw+MMbt0xVI/c6/X2oTIw0ET4SV64WThcZwsOIHskgtW/xk4i1FdbseITrehvVcHdPDqiPZeHbD/0l58dugTJjqoyfGeQa6qwQmMe+65B7/99ptNBuUozhbEfGMhksfYIGfjHxkBMS3VpF0XGob85J12GQPjwnXIzax4sFcUThQcx5HcQziccwgrUhOh1ZU0+BptPNpg2oCZ8FP5wc/dD/N3/xNnr50x6RcaEIbkibX/jVqbmGhqTZkQGblqKDLy0kzODfBog3t7PoDiiiJsOrMBxZXFNns9tjKm6524tdMItPWsKoDazqs99l/aiy+OJCAzP4OJDrIK7xnkqhqcwJg5cyaCg4MRHh4ODw8PY/vgwYObdoR25GxBzDcWInmMDXI2bTr4Q9Cb7sggiSJys/PsMgbGheNZU//g+8w1mL75OZNz3RXuqDBUWHWdNp6BuLntQIQH3owyXSk+Phhv0sfamQuNqffgzKx5veb6vDJ4Lnr69cSFa+dxvvg8VqYmGpew3KiHX0+oRS+o3dQ4dvUoSipNk05qUY0efr1QUlmM4spi5JbmNPLVWae5/t1S0+A9g1yVuQSGaOnEgoIC7NmzB3v27DG2CYKAlStXNt3oiIiInJz7j+aLV+uDQuw4EnKkG78Mp+WlYuqmKfghax283L1wofg8Llw7LzsLAoDVyYs+/sHY/theCIJgbOsfGG5xRkL1Y0fMrHAEa16vtX8mey/uRlqe6QyrG2evmEuIfDD641rPGbkqQvb52qnbI6rPBFwqycbFkovYc3FXPV91bfN3/xPjez9c698KEVFzZXEGRnPkbFlIZkaJ5DE2yCmUlwMqFTy+WQnhymV4L5pn0qUoIRHlUfb5gsi4cIzC8gLsv7QXM/6YhqtluY16rnbq9rgpMBz9A8OhrdTis0Mfm/Thr+r119jYqM/slaas92Eu0dFW3Q5RfSYgR3sZV7RXsP3CNrNjH9J+GN6KeA9DOwyz+DqpZeE9g1xVg5eQXLhwAW+++SYuXLiAb775BnPmzMHChQvRuXNnmwzUHpwtiPnGQiSPsUGO5rZzO3xmTUfh12ugD+kL4P93IYlfXrULSVAItNExdkteAIwLW6q5NKSnXy9EdhkNg2TA7ou7kHY11ezygvoI8g/G9sf3mVy3pcyYsKWmiI2m/ruwR6Kjpru734s3hr2DkNZ9Gzxmal54zyBX1eAExrPPPovJkydj2bJl0Gg0WLt2LdavX49vvvnGJgO1B2cLYr6xEMljbJA91doetU8w9F27QTz0F4o/+AgVd9zl6OEZMS5sw1zNCmsFegbiH8P+WbUlp09n7L+0DzO3TDPpx5kVtuPKsdGYRIdSUEIvXa/NoxAUGNohAjnaHJwqPMFiny2cK8cFtWwNroGRn5+PESNGYNmyZRAEAY8++qhLJy+IiIhudOP2qGL6MYjpx1C0LN6pkhfUtCRJQsrlffjh+PdIPPJ5nX0VggL924QjwDMAW85uNjk+f8SSWl8Qe7XqA3elO2dWkFWi+kyw+G/DXC2Pm9vegsV752Nd1loAgEEyYFf2DuN51XVaMvMz8EjwY+jg1RGeoicA6wrS1qcfEZGtWZyB8cQTT2D58uWYPn06NBoN9u/fjyVLlmDt2rUWn/zQoUNYtmwZvvrqK5w5cwavv/46BEFAnz598M4770ChUODjjz9GcnIyRFHEG2+8gZtuuqlJ+tbF2bKQzIwSyWNskL04w/ao1mJc1N+NX74e6jMBRRVFWH98ndlim9UUggKr7l+HQe0Gw9vdx/h8TEw4n5YeG0dyD2PB7n/KJthu1ErVCmrRC9klF0yOPR4yCREdb4WXmxc8RU+kXNqP2JQlJv3M1QZhosO5tPS4INfV4CUkR44cwZtvvomzZ8+ia9euKCwsRFxcHAYMGFDnBT///HP8+OOP8PT0xJo1azBt2jRMnjwZQ4cOxdtvv42RI0eiY8eOWLJkCVasWIGLFy9i5syZ+P777xvdd+zYsXWOzdmCmG8sRPIYG2QvzrA9qrUYF/Vjbtq9tW7cgYKcF2OjSvtPW8EgGWx+HZVShSEdIhDoGYhAdVtc0V6BJsv0B86FI97HuN4Pw1P0gErpATelGxMddsS4IFfV4CUk/fv3R1JSEk6fPg29Xo+ePXvC3d3d4gW7du2Kjz76CK+99hoAIDU1FUOGDAEA3HbbbdixYwd69OiBESNGQBAEdOzYEXq9Hnl5eY3uaymBQUREZGQwQN+lK8TTp0wOcXtU13am6DTe2vF6nX38VK1wX48HEKhui/gDsSbHowfG2Gp4RDYR7N9Xttinp+iJ1h4BuKy9BJ1B1+jrlOvL8b/zyRb7vbH9Nbyx/TXjYwFCrYK41Utc9AY9JgRPbPS4iKh5s5jAOHnyJNasWYPCwsJa7YsWLarzvLvuugvnz583PpYkybg/tZeXF65du4bi4mK0atXK2Ke6vbF9iYiILBGKCuH9+ivQBYdAO/etWjUwqmmj+eXV1VwquYgfj2ugOZ6ElMv7zfYTIOCre1dhVJcxcFdW/TATGtCPS0PI5c2+ZY7srKO40Z8gqs8EGCQDckpz8KDmLpwqPGnSz1/ljzHd7oS2UotSnRa7L+5CqU7bZOMzt5vPjD+mYl3WWozsPAojO0ciNKAf1h9fx5kaRFSLxQTGjBkzcO+99yI4OLhRF6pZl6KkpAS+vr7w9vZGSUlJrXYfH59G97XE318NUVQ26vU0NXNTZIhaOsYG2cTWrcAzzwD33gvMfRXw8gJ8PYFFi4Bjx4DQUGDuXPg+9pijRyqLcXHdqqOrMG/rPKRfTYen6ImSyhLLJwHo364/nhz8aK22FwIn44VbJ9timGQnjI2qf8e+vp5YtH0RjuUcQ2hgKOaOmIvHwq6/n7WDHxbesQCPf/+4yfn/uv9ftfquOrpKtt+i2xdhQIcBuFR8CZeLL2PZrmXI1eaa9HNTuMHPww+llaUo1ZWaXd5igAGbz27E5rMbAQA+7j64VnH9h8nqmRq+vp61xkeWMS6oObGYwPD19cWMGTMafaHQ0FDs2bMHQ4cOxbZt2zBs2DB07doVS5cuxbPPPotLly7BYDCgdevWje5rSX5+02WRmwLXphHJY2xQU6i1PWpQCLSz50CZlQndwqWoGHs3oDUA2mvAmPuq/leTE/77Y1wAReWF2HtpN1ak/hcbTv9qbL8xeSEqRPRtHYojuYdNnuOlm2a3+D/H5oaxcd2YdvdhzMO1389u/LMZ0+4+JIxNNJl1NKbdfbX6mutnnAnhV/V//oq2sjM/Ph6TYOwrSRJGrY5AWt4xi6+hZvKipnnJCzCm3X2yx8gU44JcVYOLeK5evRrZ2dkYNmwYRPF6vmPw4MEWL3r+/HnExMRgzZo1OHXqFN566y1UVlaiZ8+emD9/PpRKJT766CNs27YNBoMBc+fOxaBBg5qkb12cLYj5xkIkj7FBjXXj9qjVihISUR7lmtOQW0pc1Czy16tVb4zqMgaSZMCuizuRmnvE7DR0APASvfDeiEW4r+cDaO0RwF1DWoiWEhvOzJpYM1dYd97wxfAUPfG/81ux/cJWXC27KnsNUSEie5pzFVd2ZowLclUNTmDMmTMHR44cQbt27a6fJAhYuXJl047QjpwtiPnGQiSPsUGN5Urbo1qrJcTF18dWICZ5ZoPP5xeclqklxEZzYSnRYZAMuPXbW3Cy8ITJuaEB/ZA8cZc9h+vSGBfkqhq8C8nRo0excePGJh8QERGRrSkz0+vVTo6hN+jx15UU/HnuD2w5uxkpl/fV2V8hKNC/TTjOXTuLPJlfaYP8uXsMkTOL6jOhzllQCkGBvw/5h+xMja4+3Ww5NCJychYTGEFBQUhPT0dICD8MEBGRC5EkGNq2g/Jitskhbo/qODWXhrRVt0NHr044UZiFgvICi+cqoMC39ydhcPsh8HH3NTsVnVufErm+6gRH/IHlSL96DAZUFf/8/fSvWJPxHR4NNi0sSkTNn8UExrlz5xAVFYXAwEC4ubkZty39448/7DE+IiKi+tPp4P3qbEgqd9nD3B7Vvir1lUjPO4bEo//BN2krjO0XS7JxscQ0wWROSEAobu96h/FxzS84rG9B1PxUz9TQG/SY9OtE4w4lMX/ORHffnhjSYaiDR0hE9maxBsaFCxdk2zt16mSTAdmDs60D49o0InmMDWoQvR6+f3sCQkUFCr/4CqpNv0Mdv/z6LiTRMS5bwBNw3rioObOiu28PjOw8CqJCib+uHEBq7hGU6cvqPL+duj1Gdx2D27vcgWuV1zAneZZJn4SxiUxOkFnOGhvUNK5VFOG+dWORnpcGAGjjGYgNE/5EF5+uDh6Zc2NckKtqcA2Mffvk16G6cgKDiIiaKb0eUCpR9sTTqLjjTsDNDeVRE1w6YeFoNRMTQf4hmH3LHOMvomevncGJgixospKwNnO18ZwThcdxovC41ddQCkocfiYDgiAY27zdvDmzgoiMfNx98dW9q3F30mhcLbuK3NIcTPr1Mfz80EZ4u3k7enhEZCcWZ2DMnTvX+N+VlZVISUnBoEGDsHTpUpsPzlacLQvJzCiRPMYGWaLSJEEdF1s1u6JHLwhlpShc8wP0vfs4emg2Y8+4MFdjooNXR1wtzUWFocLq5+ri0xUF5QW4VlFkciw0IAzJE11zVxhyHrxntAy7s3fi4R8fQKWhEgBwd/d78eU930IhKBw8MufEuCBX1eAZGIsWLar1uKCgAC+//HLTjIqIiKiBVJok+E69/uVaPJ5Z9f9HDjXrBIY9GCQDUi7vw9z/vSJ73Nq6FQpBga/vXY3wwIEIVAey6CYRNdqwjrdiWWQ8ov98EUBVUc8Fu9/FWxHvOnhkRGQP9U5VqtVqs3UxiIiI7EUdFyvfHr/cziNpHiRJwv5Le/HWjrm45asw3LduLPLK8uo8p626HW7tOAKtVP6yx0Nah+KObnchUB0IoKogX8LYRIQGhEFUiAgNCGNdCyKqt8f7PoUXB1yvk/PRXx9gwIq+6PCpPyJXRUCTleTA0RGRLVmcgTFp0iTjmlRJknD+/HlERkbafGBERER1UWam16udaquubZGRn1aVgJCAvPKrVp3bw68nNk3YCl+Vn/G5rJ1ZUb2rABFRY7w17F0cz8/ExjO/AwCyS6p+YE3LSzW+H/G9hqj5sZjAmDlzpvG/BUGAv78/evfubdNBERERWWLo3AXKM6dN2vVBIfYfjItJyliNF/943vg4r8w0ceGv8ke/gP7Ynr3N5NjrQ940Ji8AbmdKRPanVCjx6dj/IPS/vVCuLzc5vmTvAozv/XCt4sBE5PrMJjCys6vWt3bu3Fn2WMeOHW03KiIiojqI+/dCyJOfLaCNZj0Fc/QGPZIyVyMmeabscYWgwGPBT+LB3lEY2SkSbko3aLKSrEpMcGYFEdmbj7svdAad7LGThScw+JtwPNBzHB7oNQ6nC0/Vei+r3lGJiFyL2V1Ibr/9dgiCgJqHBUHAlStXoNPpkJaWZrdBNjVnq8TL6sBE8hgbZI5H4ucwdOkCobgY6vjlVbuQBIVAGx3T7LdMbUhcGCQD1h9fh6X7FuF4QZbZfqJCRPa0uuteEDkr3jNapshVEUjLS23QuS2hBg/jglxVvXch2bJlS63HJSUlWLJkCbZv34558+Y17eiIiIisoDyWCuXpUyibcn35Q3NPWDSGJEn49dTPeH/vQqs+4Af5c/kNEbmW2bfMka3B46H0RJm+tM5z5+16G6O63A5/j9a2Gh4RNTGrdiHZtWsXHnzwQQDAjz/+iOHDh9t0UERERDdSZmbAb2IUhArTtc50nSYrCZGrItD+01bo9u92mPz7k7WSFz7uvnig5zjZc7mdKRG5GnO7G2U9dxbf3rcWj4c8Zfbc88Xn0fe/PXHfurH4YP9SHM45iHWZaxG5KoI7mhA5KbNLSABAq9Vi8eLFxlkXzSVx4WzTqDi1i0geY4OqKU6eQKuo+1Dyj3dQ/ujjjh6OQ9UVF+sy12La5mdlj6lFL7xw03RMHzAD/h6tra5tQeQqeM8gcyJXDUNa3rEGn+/KS00YF+Sq6r2EZNeuXXjzzTcxfPhw/PTTT/Dy8rLZ4IiIiOrk5YWSdxegfPzDjh6JU5IkCcnntuDl5BmyxwM8AvC/x/ehjWcbYxuLbhJRSzH7lldkl5n08OuJ04WnIMHs77kAgPgDsXy/JHISZhMYkydPhiiK2L59O3bs2GFslyQJgiDgjz/+sMsAiYio5VFpkqCOi4UyMx2StzeKFy1D+YSJjh6W05EkCX+e+wNL9y1CyuV9ZvsVVhTWSl4QEbUkdW31fLX0Kv48txl/nNmE77PWyJ5/7GoqNpz+DXd2u5vbshI5mNklJBcuXKjzxE6dOtlkQPbgbNOoOLWLSB5jo2VSaZLgO9X0l7KihEQW7ERVXFy5UmRV4qJaaEAYkifutMPoiByH9wxqLEtLTYZ2iMBbw97DkA5D7TiqxmFckKuq9xISV05QEBGR61LHxcq3xy9v0QkMTVYS4lJikZGfBpVShVJd7er67gp3RHQcjq3n/zQ5l8U5iYgsM7fUpNqei7twv2Ys7ulxP/4x9B0EtQ624+iICKgjgUFEROQIysz0erW3BKvTv8XMLdOMj2smL9wV7ngq9BnMGhiDjt6dWJyTiKiB5JaaTO73HDLy07AiNRGVhkoAwG+nfsbvp36Bn6oVrlUUIcg/BLNvmcP3WiI7qHMXkubK2aZRcWoXkTzGRssjFBYg4KZgCKWlJsd0oWHIT25ZyyAy8tKxMjURXxz9NwySweR4a4/W2PLoDnT05qxJIt4zyJZOFZ7Ekr3zsa6ObVXfiZiHFwfMcqo6GYxt6Zg0AAAgAElEQVQLclXmlpAwgeEE+MZCJI+x0bIIxdfg98h4GPz8oNqy2eR4S6mBUa4vx88n1mNFaiJ2X6w7YSMqRGRPy7PTyIicG+8ZZA+Hcw5i3A/3oKSyRPZ4W3U7jOh0G27rPAojO0di/6W9iEuJNc7osPdMDcYFuap618AgIiKyJ683X4euX38UL/0Aqh++hzp+OZSZ6dAHhUAbHdNskxfVtS0y89Php2qFcn2Z2Q/GNwryD7Hx6IiIqKabAgegTFdm9vgV7WWsy1qLdVlrTY6l5aUaa2xwuQlRw3AGhhNgZpRIHmOjhSgthaDXATodJF8/QKFw9Ijs5vvMNZi++Tmzx0WFiLu734ferXoj7oBpcdOEsYn8EEz0/3jPIHuJXBWBtLxUk3aloIRe0ls8X1SIGNJ+GHr69UKPVr3Q068XTheexOqMb5GVn9mkMzUYF+SqOAODiIicT3k5/CY/icrBQ6Gd83dHj8ZuCsry8U3aV1i4513Z424KN7wy6HU80XcS2nm1BwD0DejH4pxERE5g9i1zZHcr+WTMv9Hbvw+2nd+Kbef/RPK5LbLn6ww67Mzejp3Z22WPV8/UyMzPwEs3R8PbzbtJx0/kyjgDwwkwM0okj7HRzFVUwPe5pwHRDUX//i8gNv+cetrVY/jPkQR8n7kaWp3WbL+6alswLojkMTbInqzZ8em2VcOQnnesUddRCAoE+/fFwHa34Oa2tyC/PB/rMtcgMz/DqpkajAtyVSziWYOzBTHfWIjkMTaaH5UmCeq4WCgz02Ho2AmG1gEo+GUT4O7u6KE1uZq1LTp4dYSXmzcy8tOsOjc0IAzJE+ULeDIuiOQxNsjZaLKSZGdqzBu+CL1b9cHJwhM4WXgCiUc+h4SGfyWrazkh44JcFZeQEBGRQ6k0SfCdev2DnPLcWSjPnYXqlx+bXYHOGz+0ni8+Z9KnX0B/DGx7C75K+9LkWPTAGFsOj4iI7KA6qWBupsaY/++388IO2ZoaKqUKlYZK2W20a5q36x082CsKSoWyScdP5Iw4A8MJMDNKJI+x0bz4R0ZATDP9gKYLDUN+ct3bhbqSUl0phnwdjsvaS7LHH+g1Hs/3n4ahHSIgCIJV05BrYlwQyWNskKsyN1MjYWwixna/G0dyDuHA5RS8t+stszM1erXqjeiBc/Bwn0fhpnQztjMuyFVxCUkNzhbEfGMhksfYaF7adPCHoDetzi6JInKz5es9uJJyfTm+PvYl4lJizSYvREFE9vTGvVbGBZE8xga5MmuS2eZ2P6mpq293zLr5ZUwMeQIqpYpxQS6LCYwanC2I+cZCJI+x0bz4jxwCMSPdpN3VZ2BU6CvwbdpXiEtZhuySC3X2rau2hbUYF0TyGBvU3JmbqeGp9ESpvrRWWyuVP1RKFXJLc5p0W1Yie2ENDCIichjVurXQTp8B39kzTI5po12r3kPN4pxt1e1QritHXvnVWn383P1QWFFoci5rWxARUUOZq6lxe9c7kHjkcyQc/gR5ZVWz/ArK843nVW/LKkkSHgp6xCFjJ2oqnIHhBPiLAZE8xkbz4LHyv1DHx6Lgpw1w27ML6vjlUGamQx8UAm10jEsV8DT361e1QM+2mDXwZTzdbwp+P/VLvWpbWItxQSSPsUEtXXFlMVam/hfzdr0NvWS6ZNNN4Yap4S8hqs8EhAX0hyAIDhglkXW4hKQGZ7u58YZLJI+x4fpUmiR4vfMPFP7wC/Q9ezt6OA1Woa/A5jMbMXPLVFyrMP03qRSUeCviPfyt37NQu6ltOhbGBZE8xgZRlQ6f+ssmMGoK8g9GVJ8J8HbzxrdpXxuT7VxqQs6CS0iIiMjuhNJSFK5a55LJC0mSkHJ5H9ZmrsL64+uM03LlCBDw4oCZdhwdERGRvCD/EIvFPjPzM7Bk74JabdVLTQAwiUFOiwkMIiJqcm47t0Nx+RLKnpjk6KFYrWZti9YeARAAXCm9YtW5Qa1DbDs4IiIiK82+ZY7scseXBszCxZJs/H7qV2h1WrPnxx9YzgQGOS0mMIiIqNFUmiSo42Kralt07QZFbg6KVnzn6GFZRW/Q44OUpXh/30JjW45M4qKzdxf0bxOO307/bHKMxTmJiMhZmCv2Wd1eUlmCjad/w7RNz0KCaTWBjLw0u46XqD6YwCAiokZRaZLgO/X6Lz3iqZMAAEWOdbMXbK3mzIrq9b3DO92GLWc3YcvZTUg+twUF5QWy5yqgwGMhT+KR4McQ0XE4FIICmqwkmxTnJCIiaipRfSYgqs8E2dowXm5eiOozAXEpsbJLTfSSHkv3LULMLa9BqVDaa8hEVmERTyfAolNE8hgbrsE/MgJimukHIF1oGPKTdzpgRNdZ2jXEElEQkT3dfO0LR2BcEMljbBCZqisuLN0jb+s8Gv+643O0Vbe11fCIzDJXxFNh53EQEVEzo8xMr1e7PcWlxFrVTxTkJySytgURETVXUX0mIGFsIkIDwiAqRAT5ByPIP9h4fNv5P3H7muHYeWG7A0dJVBuXkBARUaPou3SFePqUaXuQY7/8l+vLkZ53zOzxiI7DMabrWNzedSwy89IxbfOzJn1Y24KIiJqz6qUm1fQGPZbuX4QP9i+FBAlXtJfx0I/344Fe45GZl47M/Axut0oOxQQGERE1mHD5MhRXc2WPaaMd9+X/wOX9iN7yomxxMgAIad0X68f/Znwc1qY/BEFgbQsiImrRlAolXh/yJoa2j8CLm5/D1bKrMEgGrD++ztiH262SI7EGhhPgmk0ieYwN56bMyoS+TxCE3Fy4/y8Z6vjlVbuQBIVAGx2D8ij7f6gp1ZXi/b0L8emhj2CQDGb7JYxNdNkPXYwLInmMDSJTjYmLi8XZeGHTZOy5uEv2eN/W/bD1MfljRI1lrgYGExhOgDdcInmMDSclSVAvfx8eq79F3tbdgKeno0cEANhzcTdm//kiThQcN7apRS882Gs8DuceNE57dfWZFYwLInmMDSJTjY0LnUGHTp8FmJ3RODH4CdzfaxwiO4+Gh+jR4OsQ3chcAoNLSIiIyHp6PbznvgJx/z4U/LTB4ckLTVYSlqcsRWZeusmHq5GdR2H5qA/Rzbe7YwZHRETk4kSFiJDWobLbrQLA6oxvsTrjW3i7+eDO7nehjWdbbD3/J47nZ7JWBtkEExhERGSWSpMEdVzs9aUh014CBAGF63+F5OPr0LGZ2/5NpfTAwpHv46m+z0AQBAeMjIiIqPmYfcsci1uSF1dew7qspFptrJVBtsAEBhERyVJpkuA79foHFjEtFb7RL6IoIdHhyYu8sqt4bZt8kdCuvt0wKfRv9h0QERFRM1WdfKhZ6HrWzS+ju18P/HzyR/x8Yj1OF5nuRlYtJnkWCssLcU+P+9DOq729hk3NFGtgOAGu2SSSx9hwLP/ICIhpplNGdaFhyE/e6YARAZIkISlzNd7eMRdXy67K9hEVIrKn5dl5ZPbDuCCSx9ggMmWPuJAkCUevHsEda0aarZUBAAIEDGo/BPf2eACiQsS3aV8ZEyJcakI3Yg0MIiKqF2Vmer3abe1U4Um8tvVlbD3/Z539gvxD7DQiIiIiEgQB/dvcVGetDACQIGHfpT3Yd2lPrXYuNaH6UDh6AERE5Jz0vXrLtwfZN0FQqa/Ehwc+QOSqYbWSF/6q1rL9owfKLy0hIiIi25l9yxzZ9onBj2N4x5FQCHV/9Zz7v1ew7XwyKvWVthgeNROcgUFERCbc/9gIxcVs2WPaaNsnCDRZSYhLiUVGfhrcFG4o15cbjykEBZ7rPxWvD3kTm85sqLUm19W3SCUiInJVcrUyat6Xr5ZexcbTv2H2ny/JLjXJK8vDhB8fhJ+qFe7oeifu7Xk/iiuK8dmhT7jUhIxYA8MJcM0mkTzGhmOo1nwH73ffQuGX30B5/hzU8cuv70ISHYPyKNt+cDC3uwgAhLW5CctHfYgBbQfadAzOjHFBJI+xQWTKGeMiclVEnUtNLEkYm8gkRgvAGhhERGSZXg/V77+iYN3P0AeHQDd4qM0TFjdavHeBbHs7dXtsnJAMUcFbFxERkasyty3r6C5jkJmfgQvF5+s8/5Wt0bisvYRbO45Av4D+UCqUxpmbnKnR/PFTIBERAQYDPP/1EcoefwpFiV85ZAiSJOHrtBU4VXhC9vjVslwmL4iIiFxcXUtNJEnC0dzD+PXUz4jdv0T2/GsV1/D2jjcAAL7ufujm2w1Hcg8bj7MoaPPGT4JERC2QSpMEdVzs/y8NCYbB1w+CXo+yJyc5ZDwllSV4bevLWJu5ymwf7i5CRETUPET1mSCbXBAEAf0Dw9E/MBy/nvzZ4lKToorCWsmLmuIPLGcCoxniLiRERC2MSpME36lTIKalQtDrIaYdg/ueXSh9egokf/mdPWwpMy8DdyeNrjN5AXB3ESIiopbE3K4mT4RMQlTvh9FO3b7O89OupmLHhf+hBZZ8bNaYwCAiamHUcbHy7Z99bOeRAN9nrsGdSaOQkZ9ubHss5El8ePtnCA0Ig6gQERoQxoJdRERELUxUnwlIGJto8nkg7vZPkHDnf3H4mQzsfuIAOnh1lD1fgoSo9fdh5Koh+PzwpygsL4AmKwmRqyLQ4VN/RK6KgCYryc6vihqLu5A4AWesDkzkDBgbttGmgz8Evd6kXRJF5Gbn2WUMZboyvLVjLlakfmFs81B6YMlty/F436fsMgZXxbggksfYIDLVEuKirt3LanJXuKPCUGHSzh9JnBN3ISEiIgCAoVNnKM+eMWnXB9m+xoQmKwlL9y3C8YKsWu09/Xrhi7u+Qr82YTYfAxERETUfckVBHw56FOeKzmBt5mqUVBYDgGzyouq8WCYwXAgTGERELYkkQR/YVjaBoY22bY0Jc7+Q3NJ2MNY8qIGPu69Nr09ERETNk7mioG9HvIekzDX4MvULHLt6VPbcY1dT8UrybNzT416M6BwJlVJl6+FSI7AGBhFRS1BRAa9570DIyUHhb3+gKCERutAwSKIIXWgYihISUR5lu18fdAYd3vjfa7LHSvWlTF4QERFRk/N298Hfwp7Fn4/uQHffHmb7rTyWiMd/mYCQxB64O+l2DFjZl3UynBRnYBARNXNCbi58pzwFyb81JLUaAFAeNcGmCYuacrQ5mLZpCq6W5coez6xRwJOIiIioqQmCgLlD37JYK6OkshgHruw3Pk7LS8XUTVNw9tpZzLr5ZQiCYOuhkgWcgUFE1JxVVqLV+HtQGXEriv77NeDtbdfL77u0B3esHYn/Xdhqtk+Qv+1rbxAREVHLJreryad3/Ac/jv8d08Jn1DlDY8Huf6L/iiDM2jId64+vQ0FZPnc0cRDuQuIEWkJ1YKKGYGzUn0qTBHVcLJSZ6dB36w7t3/+BysFDYejcxa7jkCQJXxxJwNs734DOoKuzL6t/1w/jgkgeY4PIFOPCepIkoeNnraGXTHdqu5EAARJMv0bzM03TMbcLCWdgEBE1EypNEnynToGYlgpBr4d48gR8p06B2749dh1HSWUJpm9+Fm9sf82YvPBX+WPV/d/L7ufOGz0RERE5miAIZmeFKgVlrcdyyQsAeHfnWzh/7VyTj42u4wwMJ8DMKJE8xkb9+EdGQExLNWnXhYYhP3mnTa+tyUpCXEosMvPTISpElOvLjcfCA2/GF3etRFffbjYdQ0vBuCCSx9ggMsW4qB9zO6Z9esd/0M23O7ac3YwtZzfhwJWUOp+nd6s+iOwyGpGdb0de2VUkHPqXcYvX2bfM4Y83VjA3A4MJDCfANxYieYyN+mnTwR+C3nTaoySKyM3Os9l1zd3sAWBS6GQsGLEEHqKHza7f0jAuiOQxNohMMS7qT5OVhPgDy40Jh+iBMSYJhxHfDUZmfkaDr8EZqJaZS2BwFxIiouagrAySjy+EgnyTQ/og2xbJjN2/RLa9o3cnxI6Kt+m1iYiIiJpSVJ8JFpMLcwb9XfbHm74B/XCq4ATK9GV1nj/jj6lYf1yD8MABCG97M8IDb8a2838aZ7NypoZ5TGAQEbk6rRZ+f3sC+p69oDiw3/RwdIxNLqs36PF12gqzv0Bc0V62yXWJiIiIHKk6sSA3U6NMV4Y9F3dh6/k/8fFfcbLnVxoq8eupn/DrqZ9kj1dv31rzWlSFCQwiIlcmSfB97mkY2gTi2rdJUP30A9Txy6t2IQkKgTY6BuVRTX/j++tyCv6+LQYHc/4y24fboxIREVFzZW6mhofoUVX/osto/HFmE9LyTOuTWSt6y4vYlb0Dg9sPxaD2Q9Ddtwd+OP59i56pwRoYToBr04jkMTYs0GoBT08o09OgDw4BFLbfWCqv7CoW7p6Hr47912wF7mpc32kbjAsieYwNIlOMC8cyVyfszWHvoo1nGxzK+QuHcw4i5bLpDFo5Pm4+uFZp+vfZHD9zsQYGEVEzIly9Cr9Hx0P7xluoGHOnza5Tc3eRtup2KKooREllifG4SqnCzJtfRjff7vj00Md1FrwiIiIiaknqWmoCAE/0nQQAiFw1DGl5xyw+n1zyAgCW73+/xXzu4gwMJ8DMKJE8xsZ1Kk0S1HGxVUtDevaGUHIN5Y88jpI33gYEwSbXrGt3EQC4o+udWDDyffTw62mT65M8xgWRPMYGkSnGhWsw95kreuAcqJQq7L+8FymX96OwvMDsczwa/Die6TcFg9oNgWCjz4b2xBkYREQuSqVJgu/U6zc1MauqaKYutJ/NkhdAVTZfjpvCDf+5ayXu7n5vs7hBEhERETmSpZkaAGCQDBj+7SCcKDwu+xxrMr7DmozvEBoQhmf6TYGH0gOfHfqk2dXK4AwMJ8DMKJE8xkYV/8gIiGmmBaB0oWHIT97Z5NeTJAm/nPwJUzY8JXtcFERkT89r8uuSdRgXRPIYG0SmGBfNi6XZsZa4Uq0MczMwbF/xjYiIGkWZmV6v9sY4f+0cnv7tMbPJCwAIas3dRYiIiIjsLarPBCSMTURoQBhEhYjQgDAkjE3ExgnJeLLv0/AUPes8P/7AcjuN1Ha4hISIyMnp+wRBTE8zbQ9qukSCzqDD54c/w5K9C6DVldTZN3pgTJNdl4iIiIisZ2771gFtB+Kft87H2oxVeGP7a7LnZuY3/Y9f9sYZGERETq7soUdk27XRTZNI+OtyCu5MGoV3dr5RK3nxdOgULB/1kUmW31WmHhIRERG1JH6qVnjupmno27qf7PEgf9efRWv3GRhRUVHw9vYGAHTu3BkTJ07EggULoFQqMWLECMyYMQMGgwH//Oc/kZGRAXd3d8yfPx/dunXDwYMHre5LROTyJAnum35HafQcGLp1hzp+edUuJEEh0EbHoDyq4YkETVYSlu9/H5n5GZBQuxRS39ahWBoZjyEdhgIAngp9plEvg4iIiIjsZ/Ytc8zsauL6s2jtmsAoLy+HJEn46quvjG3jxo3DRx99hC5duuCFF17AsWPHcP78eVRUVGD16tU4ePAgFi9ejE8//RTvvPOO1X2JiFyd50dx8Fi3FhXDb0N51IRGJSxqMlcAyk3hhr8PeRPTw2fATenWJNciIiIiIvuyZlcTV2XXBEZ6ejpKS0sxZcoU6HQ6zJw5ExUVFejatSsAYMSIEdi5cydycnIwcuRIAMCAAQNw9OhRFBcXW92XiMjVqZJWw/PL/6Dgl02Al1eTPW9uaS5e3Tpb9lg33x6YNfDlJrsWERERETmGuVoZrs6uCQwPDw88++yzeOSRR3D69Gk8//zz8PX1NR738vLCuXPnUFxcbFxmAgBKpdKkra6+Op0Oomj+pfn7qyGKyiZ+dY1jbpsYopauxcbG0b+A335FQFhwkzydJElYdXQVZv0+C0UVRbJ9ThedbLl/3i6Gf09E8hgbRKYYF9Sc2DWB0aNHD3Tr1g2CIKBHjx7w8fFBQUGB8XhJSQl8fX1RVlaGkpLrheQMBgO8vb1rtdXVt67kBQDk52ub8FU1HvdnJpLXEmNDmXYMEEXo/7m4qqEJXv/F4my8tu1lbDj9W539gvxDWtyftytqiXFBZA3GBpEpxgW5KnOJN7vuQpKUlITFi6s+lF++fBmlpaVQq9U4e/YsJEnC9u3bMWjQIAwcOBDbtm0DABw8eBBBQUHw9vaGm5ubVX2JiFyFSpME/8gItOngD//hg9Bq/L0QU480yXNLkoSvj63AyFVDayUvWqsCZPs3h8JORERERNR82XUGxoQJEzB37lw8/vjjEAQBCxcuhEKhwCuvvAK9Xo8RI0YgPDwc/fv3x44dO/DYY49BkiQsXLgQAPDuu+9a3ZeIyNmpNEnwnXq9mKaYlVn1H5Jk5gzLNFlJiEuJRWZ+OjxED5RUltQ6PjnsObw17F1sOrOhWRZ2IiIiIqLmS5CkRnxSdlHONo2KU7uI5DX32PCPjICYlmrSrgsNQ37yzno/n7ndRQCgh19PxI3+BBEdh9f7ecm5NPe4IGooxgaRKcYFuSpzS0jsOgODiIiuU2am16vdkqX7Fsm2B3i0QfLEXfAUPRv0vEREREREzsCuNTCIiOg6fZD8DiP6oJB6PU91rYvjBVmyxwsrCpi8ICIiIiKXxxkYRESOYDDA0Fq+mKY22vpimpdLLiEmeSY2ndlgtk+Qf/0SIkREREREzogzMIiIHMFgQGXkaBTF/wu60DBIoghdaBiKEhJRHmVdMc0fsr7HbauG1pm8ALi7CBERERE1D5yBQURkT5IE9bLFKH8wCtrZrwAAyh9/ql5PkVd2Fa9vm4Mfjq+r1f7CTdPRv004Pj30MXcXISIiIqJmhwkMIiI7Ui+eB/dNG1H6/LR6nVe9PWpGfhoEKKCXdMZjnb274MMxn2JEp9sAABNDnmjSMRMREREROQMmMIiI7MTzoziofv0ZBZpfIbXyt/o80+1RDcb/eiJkEuaNWAQfd98mHCkRERERkfNhAoOIyB4kCZW3RaL80ccgtWlTr1OX7Vss297Fpyvibv+kKUZHREREROT0WMSTiMgGVJok+EdGoE0Hf7S+KRg+z06CLvxmGNq1r9fzHLxyAFkFmbLHLpZkN8VQiYiIiIhcAhMYRERNTKVJgu/UKRDTUiHo9VBeugiPn3+ESpNUr+dZf3wdxv1wj9nj3B6ViIiIiFoSJjCIiJqYOi5Wvj1+uVXnS5KE9/cuxPMb/4ZSXanZftwelYiIiIhaEiYwiIiamDIzvV7tNWkrtXhh42Qs23+97kWvVr3x3q0LERoQBlEhIjQgDAljE7k9KhERERG1KCziSUTUlCQJkl8rCHlXTQ7pg+pe8nGxOBvP/PY4Dub8ZWy7rfNo/OfOL9HKwx/TBsxo8uESEREREbkKJjCIiJqKTgefmJkwtGoFhUwCQxttuuRDk5WEuJRYZOSnQQEFdJLOeGxK2POYN3wx3JRuNh02EREREZErYAKDiKiJKM+eBspKkf/Hdqg2/gZ1/HIoM9OhDwqBNjoG5VG1l3xospIwddMU42MDDAAAAQIW3xaLyWHP2XP4REREREROjQkMIqJGEooK4fHVCpS+OBPX/v0lAKA8aoJJwuJGcSnLZNu7+nZj8oKIiIiI6AYs4klE1AjClSvwG38flOfOAJJk9XlF5YVIz0uTPXah+HxTDY+IiIiIqNlgAoOIqB5UmiT4R0agTQd/+I8YjNajIlBxz30oXrQMUFj3lpqVn4m7vh8NCfIJjyD/uot9EhERERG1RFxCQkRkJZUmCb5Tr9esEDMzAAD63n0AQbDqOTae/g3TNz+PaxVFZvtEDzQt9klERERE1NJxBgYRkZXUcbHy7fHLLZ4rSRKW738fk359zJi88BQ98Vz/qQgNCIOoEBEaEIaEsYmI6lN37QwiIiIiopaIMzCIiKykzEyvV3u14spizPpjOn4+ud7Y1tm7C1bc8y36B4Y36RiJiIiIiJorJjCIiKyk79EL4vFM0/Yg05oVmqwkxKXEIjM/HaJCRLm+3HhseMeR+PyuFWjj2cam4yUiIiIiak64hISIyALVmu/g/fIMaF99Xfa4Nrp2zQpNVhKmbpqCtLxU6CV9reTF8/2nYc0DPzB5QUREROSENBoRkZFqdOjgjchINTQa+d/8m0s/V8MEBhGRGULxNfi8+DzUHy5H6XPTUB41AUUJidCFhkESRehCw1CUkIjyqNo1K+JSlsk+X0evTlgw8n24Kd3sMXwiIiIip+SsX+o1GhFTp3oiLU0JvV5AWpoSU6d6Ntt+rsj1XwERURNQaZKgjouFMjMd+qAQaGfPgVBcDMnTE/kbkgEvLwBAedQEk4RFTYXlBUjPS5M9dqX0si2GTkRERNQgGo2IuDh3ZGYqEBRkwOzZFYiK0tm0X/WX62rVX66B0lp97dVPkkpxzz06SBIQF+cu++cUG+uONm0kVFYClZVVj+XEx7vj2jUBly8L0OmAb76R/9EqNtYd4eF6LFumgsEAbN4s/7V87lwVoqJ0WL7cHZs2iUhNlZ9/8NJLHlAqy3DXXTqEh3uhoEB+d7z4eHfZvzdXwhkYRNTiVW+PKqalQtDrIaalwnfqFEheXiiO/dCYvLDkSO5h3LH2NkiQZI8H+ZvWyiAiIiKy1UwDUYTZfvb61X/dOhEGA1BQAFy+LGDpUvkv/4sXV7WfPClg82Yl5s9XyfZ7+20V9u6t+hq7bJk75s6V7xcT44EHH/REYSGwdasSM2d6yPabNs0TQUHeiInxQGam/NfjEycU+OADd3z2mTu++sodx4/L98vMVKCsDNDrAXd3IDdXPpFw8qQCPj7AqFE63HGHDsXFst1QWFh1/rhxlXjvvTJUVMj3kyRgzBgd3N2B7du1EOQva/b1uRLOwCCiFs/s9qgffoDyhx6x6jlWpX+D17a+jDJ9mdk+0QNjzB4jIiIix2vuMxLGjdNBq62aRWButsGyZe64ckWAVitAqwXWr5efRRAf744DB5TYvl2Jigrg9Gn5L8cLF6oQEaHHbbd5wd1dQk6O/Lfr6vP37lVi/Xo3nD8v3y8nR0BZWdWxVq0ks+GLV6kAACAASURBVLMNysqAuXMr4OkJDByoh14v2w2iKOHcuaoMQlqaGmlpSpM+wcEGrFtXanwcGSnfLyjIgBdeqDQ+/vFH0Wy/wEAJjz5a9ff20UcGs9cFgF69JPTqJSE42Hy/6t/b2rSREBQk3y8oyGDS5mpcPwVDRNRIDd0eFQDKdGWYkzwLs7ZMNyYvvNy88cJNLyI0IAyiQkRoQBgSxiYiqo/5pSdERETUMNbMSrC2j73qEEhS1a/m5eXmlyMsXKjCxo1KHDpU9ZVt3jz5mQavv67C7NkqTJvmgZMnzc9wmDnTAx06eCMszBtTpnia/TX+5EkFzp5VQKsF1Grg7Fn5BEFmpgJ/+1sFPvywDImJZTCY+W6cnS2gQwcJWVnFSE0tQd++8h2r2x97TIfvvitFSIh8v5AQA267rSob8dxzlcYv+TcKDjYgIkIPd3fAx8f8l/ea7bNny09xiI6u3d5c+rkizsAgohbNbdcOSB4eEEpKTI7JbY9a05mi03h2w9M4nHPQ2BbsH4L/3v0Nevv3afKxEhERNQf2nr1QV5/x43UoLQW0WvNf/BcsqKpDsGuXEn/9pcAnn8j3e/VVD3h5leLOO/V4+GFP7Ntn+gs4AEyb5oFp04AzZ4rxyy+i2UTC2bMCVqxwx6hROoSHG3DhgnwiobBQwKBBBnh4SPDzA06dkn8+gwG4eLEYiv8/bG4WQXCwAQsWXN9B7YcfzM8i6NVLAv5/6ay1v/rPnl1R6++jmtyXcHv3q/o3U4r4+Ov/7qKjTf/dNZd+rkiQJEl+sXYzlpNzzdFDqCUw0MfpxkTkDGwZG0JODrzffRNu27eh/P5xUP/7XyZ95HYY0WQlIS4lFhn5VYU6DdL1m/JDfSZg2agP4e3mbZMxEwG8ZxCZw9iwHVsmHKolJNS9DKLaZ5+V4u67dSgqEuDtLeG+++S/hLdvb8Cdd+pQUiJg0yYRRUWmX/67dzfg22+1GDPGC56eEvLyBACm/RQKCZcuFePnn0Xs3atEQoIbJMm0n1IpYceOEvTsKWH3biXGj/eEwWDar3rJgvL/h20ukRAaqkdystb4uKn7NfbvoqH9qvta8+XaUf3I8QIDfWTbmcBwArzhEslritgw2V1k1ssov/cBKE+egMea76B99XVI3j5V/eKXX+8XHSObvJi6aYrJNZSCEvNHLMaUsBcgmKuaRNREeM8gksfYuM6ZEg6LFpVh1CgdOnWSoNMBo0d74cwZ0xkCbdsa8MQTlQgMlPD885W46SYvXLpk2k8QJKhUgK+vhMWLy/H88x7Q6+WTCQsXlsPLS8KsWR5mEwnZ2derJzKRwAQBOQ8mMGpwtpsbb7hE8hobG9W7i9yobMJEXPvX5/V6rlOFJ3F30mjkl+ebHOvh1xN7njwocxZR0+M9g0ieK8eGMyUc3nmnDC+9VIkTJwQkJ4uIjXVHbq5pIsHDQ0J0dAXmzKnAxIme2LZNKZtIEEUJXbpIWLmyFIIAjBihhrlZDq+9VoEuXQx45BEd2rf3brKkQ8tOJCgRFKRnIoFcDhMYNTjbzc2Vb7hEttTY2PCPjICYlmrSrgsNQ37yTque48Dl/fjk4If45eSPtZaL1CQqRGRPy2vwOInqg/cMInn2jA1nSjgkJJRi+HA9Ll0SUFIiYMYMD5w7Z5pw6N7dgL17SzB1qgcKCwXs2qVEaalpgsDdXcLJk8VISVFi3ToRK1eaXy6xf38JOnWScOWKgPBwL7MJDFvOcrDmz885EgmOmZHAewa5KiYwanC2IOYbC5G8xsZGmw7+EGT2zJJEEbnZtRMO1bUtMvPTEeQfjDFdxyLlyn7syt5h8TqhAWFInmhdQoSosXjPIJLXFLFhr4TDuHE6FBUBRUUCJk3yNFP4UI9Bg/QoKhJw7ZqAjAyF7JKK0FA9HnpIhx9+EOHlJf1fe3ceHlV5/338fWYmyWQhLGEPghIIIaAs+kPxQUD7IIpalaqgAm5UrLSCRRGwIP6gImoruBQCivykIihKrU9/LhciRStSi6ACIVFckLAFCEv2mTnn+SMmJJwzEMwyM8nndV1cZjL3zJwRvudkPrnv782//+0OGjjs3ZvP//6vB6/X4pZbgvdnCHXgcCbjyseeLiQIdZAQKrpmSKRSgFFJuBWxTiwizn52bVgW0W//jcTfjMXw+Wx3nzwDI1hvi5OlJ/Vg+yH7jA5tkSr1SdcMkapOhA5lU+WDhQ61FUwE+6DeoYPJpEmlHDsGAwYE+O1vvY7jmjSxKCyE+HhISrLYtcsIOnPhySdLaNLEokmTssAhXGc4nMm48rGRMHuhIdA1QyKVAoxKwq2IdWIRcfZza8P70gt4ly2ldMhQ4p9+0nb/ybuLDFpxEZmHtzs+l8fl4fouN3Bv7/vo0bInq79exfzP//zTTI00JvT9vcILqVe6ZkhjUVuhQ7AxU6cW06uXSZ8+AXw+g8GD4xx7PURHW7RsadGpk8lbbxXRpk2C4wwHw7AYOdJPYqLFddf5uPrquKCBQ13uQKHAQSrTNUMilQKMSsKtiHViEXF2qto4eXeRolFjiPpsI0V334v/3F7g8YDbfcrdRQJmgDe/fp3xH9zt+BouXGwavZXkJh3q7D2KnCldMyTS1VYwUVICl10Wx9df2z/UJyebbN5cwKOPxrBkSZRjrwev1+LCCwPMmlVCixYW554bH3TpxWefFZCQYNGsmQIHiSy6ZkikUoBRSbgVsU4sIs6C1UbQ3UWuuZbjzywsm5d7CqZl8o9v/87cf/+R7LysoOPU20LCka4ZUt/qq2HlgAEBDh82yMsz+N3vvI5bbaalBZgxo4S7746lpATKVgkG7/fw+ecuhg2Lq9VeDwocJJLomiGRSgFGJeFWxDqxiDgLVhtnsrtI1eacaVzW8Rf8c/c6th788rSvr94WEo50zZDaUh8NK598spiuXU0OHDDIzTVYujTKccZEenoAjweKiqB5c4vPPnNuROnxlO2QUVoKTZrA4MH1v4Vm+VgFDhIJdM2QSKUAo5JwK2KdWEScBauN6u4uUp3mnAlRTbin13g6JHRg0VcL1dtCwp6uGXI69dGw8qyzyj6MHz5s0L69yfPPRzuOS042Oessk1atLFq3tli6NKpWG1GGagtNkUiha4ZEqmABhqeej0NEpEa8LywMel8gNa3K7Xmbngo6NtYTy9hz72F8n/to4U0C4Jb0MbVzkCIideDnBBOZme6fblf9sP6nP0U7vsbUqTGsWeMhL8/gmWeKycqyL+MA2L3bYMsWFy1aWMTGQna287j9+w02by6quP3JJ+4gW4aaVW5PnFjqGDpMmFBa5XbZeyr6KXQo24Xk5NCh6phTBxPXX+9XYCEiEsY0AyMMKBkVcVa5NqI+Xo+v30V4Mrfh+XwTTR76vW18+e4iBwoP8PK2JTzx2WOOz2vg4svbs2gT16ZOj1+kLuia0fDU1oyJI0fg8svj+f57e5gQF2eRnGwyfLifSZNKad06AafeES6Xxbx5xbRoYTFgQIArrohjx476b1hZPvZMZkOoNkTsVBcSqTQDQ0QiRvkOI2TvoHnnLphNE3EfyOXIa6vx9+qDv1cfrGbNbLuLbLj4bF5Y82v+/s1qSs3SoM/fPSld4YWI1LnamDFhWfDNNy4eeyzG8TXuu8/LjBkWX3xRwJo1Hr7/3h5KQNmOHS++WEy7dmUzHbp3Nx0Dh7Q0k5EjTxzj/fdXbybEz5sxodkQIiJyZhRgiEhYOXmHEc/XZbuEHHtmIWbnlIrvr+gJ8+6xyM6zaBOfR3TBLL5/47tqvcaEvvbZGyIi1VUbwcShQwY//GAwa5ZzMDF+vJe8vBLuuMPH2LFefvjBOZjw+2Ht2kIMA264wc+zzzoHE926maSlnVimUduBg4IJERGpD1pCEgY0tUvkhOrsMFKd5pwXtOnH2PPGETADPL/lGTXnlAZD14y6U9OlHNde6yc312DfPoM774zlxx/tSzm8Xotdu/L5y1+i+NvfovjiC5fjbhtut8V33+Xj9ZbdDoclGuFOtSFip7qQSKVdSCoJtyLWiUWkjHEkj6RuZ2M4nJbKdxg5WnKEi5efT25Rrv3xGNzYbSRjzx1H79Z96+OQReqdrhlnrjaCiUOHDPbvN7j99lh27bIHEx07mqxZU8DFF8fTrp3F1q3OwURd7rZReWxDCiaqS7UhYqe6kEilHhgiEvbi58zCatYMIy/Pdl9uzy7M/fdsFn+5kOOlxxwf7zbcPPeLjLo+TBEJI6cLJ4It5fD7i+jbN0BenkFensHcuc5LOebPj2b9ejfvvOOhTRuLXbucl3Ls2WPQrBls314ABA8mame3DS3REBGRxkkzMMKAklFpzNzbtpLwyMMcf/pZzOQOxLz1ZpUeGAfj4OmL4NlBXo5bxad8rvSknqwb8UldH7JISDWWa0ZNZk1MmVJMt24WR44YLFoU5RgkpKQE8PsNkpIsmje3+PBDN6bpPGMiJycf46e7NGMifDWW2hA5E6oLiVSagSEiIVe+u4g7eweBLl0JJHcg6sstFEyZjtk+GVwuSq6/gSVFG3nqh6XsSCwBwDKASuFFm7i27C/cZ3t+NecUCX81aYC5a1cxPXqYpKSYdOxoMWWK86yJefNiGDzYT3KyRXa2fbkHwA8/uKq1lCM11awIL0AzJkRERELJ+aouIlLLyncX8WRuwwgE8GTtIGbtGvKnzKB4zB3gLvvg8NLWF7jrSAaZTUuwjJ/Ci590a55GxpAlbBmTScaQJaQn9cTj8pCe1JOMIUvUnFMkhFav9jBoUBzt2iUwaFAcq1fbf0dSHkxkZroJBIyKYOL556PYtKnsR5I1a9xBg4mnnoph8eJovvvOhdsNR48G35nj5ZeLmTOnxLZko5zTUg4nTsFERkYR6ekBPB6L9PSA46yK8rHr1hWyZ08+69YVKqQQERGpIS0hCQOa2iWNQfNBF+HJ3G77fvnuIruO/cCzm+fx8rYlWNhPSx0SzuI/o7/CZSh3lcatvq8ZNVnKMX16MaNG+YiKgpdeiub556M4fNhew9HRFsOG+Vm0qJj1693cdFNs0OUcZ9oAU0s5Gg/9PCVip7qQSKUlJCISUm6H8ALgm4OZzPzgHlZlryRgBYI+fl/hXoUXIrWoJks5Dh0qZuxYHx9+6GbTJjeLFkU5vsYTT8TQp49J794BDh0qa5bpxDRh0aKyZWIDBwbo1s2stQaYWsohIiLScCjAEJEaq9LbIjWNwomT8PW7iNgli3F/ncWxl1cQ6JrKqphsHrsEtreCznnQshA+7RDAylp+2tdIbZ5WD+9EJPLVJJgwzSKGDPHz0Uce9uwx+POfox1f4/HHYxg71sf+/QY+Hxw75hxMBAIwYEBZMDlzZgkffugOyc4cCiZEREQaBgUYIlIj5b0tynkyt5E47k7MuDiKR91G/n/PAeDl8Zdy15HsinFfJ5X9qWxA8kAuaNuPeZuesr2OGnRKY3cimIDU1LgzCiagiLQ0kx9+MMjNdTF3rnMw8cQT0VxwQYCVKz20b29x+LBzMFH402YbI0eWvf6773q0ZaiIiIjUOQUYIlIjcfP+5Ph9s2MnCmbPBeBQ0SEeLn0r6HP8ouMQJp7/IBe2uwiA7i3Smf/5n8nO20Fq8zQm9P29GnRKg1WTGRM+XxG9e5vs3m2Qk+Pi+eedg4n586MZMCDAd9+5aNXKJDfXOZj48UcXnTpZvPxy2XKODRtCM2OifKyCCREREalMTTzDgJrrSCRr2bYZhmnv8l8U4+bVdS/xetYK1ux6H7/p/EHEbbjZ+5s8x/tUGxLJatL8srzBZGEhHDhgcNttsY5Bwtlnm7jdkJxs0qGDyYoVUbXW/LI6x3fye1EDTAklXTNE7FQXEqnUxFNEao1x8CCxf11K4T2/JdCxE6sSvqvobXH2ETg7DzadZXHkvTGnfa5uLbrXwxGL1K9TLeWo/KF+3jznGROTJ3uZPt3i6FGD884zyc52bmC7e7dRJZjYvFkzJkRERKThUoAhIkGd3JyzaMzteLJ2ELP6DUp+eR1GYQEvT7ycu45kVDxmZ4uyP1D1A1Pnpil8e3Sn7TXU20IiTXVmVgQLJmbMiGHDBje7drm4887SoMFEfj6sX19ImzYWLlfwGRMKJkRERKQxUYAhIo6cmnM2mfogxVdezeGPP6O4ZTPe+fb/cX/BX4M+R8fEs7kxdQQ3po6gc7MurP56lXpbSNiqSS+K3buL6drVpLDQYPhwP1lZzsFEbq5BaqrJkCF+evc2SU113i60WzeTdu1OrPBUMCEiIiKiHhhhQWvTJBw1H3ghnh2Ztu9v7t+FhQ8O4fWsFeSVOPeugLLeFnvuOYxhODcLrA7VhtSXU/V6uO46P6YJpaXQv388e/bYw4mYGIuBAwOkpwd4+OFS+vePY+fOuuox4SY1NaAeEyIn0TVDxE51IZEqWA8MBRhhQCcWCSfu7CyshARanN+Tld0DFb0t2uaD1wc7k07/HADpST1ZN+KTGh2LakNqQ3VmVgRbouH1WkRFwRNPFHP11X46dkzAsk7fJLMum1+qLkScqTZE7FQXEqnUxFNEKpzc26Jw/AQwwLtsKe5vd5I/7zle+UVbRl+cU/GYnET785zVpCO9W/Xh7W/tW6Sqt4XUh9OFE8GWfHzySSndupmMHetj/vxoMjOdl3z4fLBlSz4tWpTdTktzXvJxci8KLeUQERERqX3OP7GJSESKWb2K5oP607Jdc5oP6k/M6lWOYxLH3YkncxtGIIAncxuJv72b2IXPUXT3vXz8wSr+EP8v7rh4n+NrGMB1XYbz2jV/47NRX/LiFcvIGLKE9KSeeFwe0pN6kjFkiXpbSI2sXu1h0KA42rVLYNCgOFavtuft5eFEZqabQMCoCCdWrPBQVASLFkUxdWqM4/P/7W9RlJSUfX3zzT5bAFGuWzezIryAsl4UTk7uRQFlwcS6dYXs2ZPPunWFCilEREREakhLSMKApnZJbTi56Wa5YxlLKLl2OK5dP2A1b06zq4awKjqrYmlIei6M+w/kd2jDy5e1Yvuhrad8HY/hYc9vDtfV26hCtdE4nW75RUEBfPutizFjYsnJsefwHTqYfPppATNmxLB0aRSmGdolH7VNdSHiTLUhYqe6kEilHhiVhFsR68QitaH5oP6scm+rEkxM+whGfOMFlxuzeXOOz/8L7/z3tdwy/OeXfW30tqgu1UbDU5N+FOnpAYYO9bNgQTTnnGOyY4frtP0oTvVclZtplh9bKIOJ6lJdiDhTbYjYqS4kUqkHhkgEs/WsmDiJkuurLtF43bOdW3514vZXbeDmG+DNbcUkDr+dXP9RDhx6nM+vPfVrxXpiueLsYSQndOC5LfNt96u3hTipyRakgUARLVpYZGW5yMpysWOH8+rG7GwX//hHKZMnl+J2Bw8nKi8Hqe72o6BeFCIiIiLhTgGGSJg7eWmIJ3MbiePuJP/bnbiKizE/WsN7f5nOfcMMwD6z4vUeQNbSE9+wf94DynpbPHPZQq7qfA0J0WWJ57mtejH/8z+TnbeD1OZpTOj7e/W2aGRqEkxA2fKLQABycw3mzYt2fI3nnoumdWuLLl1M+vQx+fRTi2+/tc+sSE01iY8/cbs64cSZNNMUERERkfCmJSRhQFO75FSclobctgXcLjfvDO7IRzF7KDJLavw69bk0pLpUG6FV3b4QwWZCtG1rEhUF+/cbNG1qcfiwQSDQsPpRhILqQsSZakPETnUhkUpLSETC0CmXhlgWGIbj0pAHhgIEgO/AefOECknelkw8fxKt4lrTOq4NXxzYwqMb/mAbp6UhjUt1ZlYEmzExZUoMr70WRU6OQf/+AbKznZd8HDxo8K9/FdC+vUVMTPWWfIC2IBURERERZwowREIkZvUq/vfZO3lsMGy/EdJztzHt2Tu5es07bPPn8GnUXtZfez5vX3f6SVKdm6bQsUkn1u1ea7vvsUueqLLsY0DyQNontNfSkAaqJks+Nm4spW1bi127DB55pISsLOdg4uhRgzvuKCU52aJjR5NPP3UHDSbOOefEv1/1oxARERGRmtASkjCgqV0NT3Wabr4/qjujLs6xP9YPJdWIFg1g7sCnubTjL+iUeDYAq79e1aCCCdXGCT8nmCg3eXIx3bpZtGlj0q+fSVpaPIcP28OJxESLMWNK6djR4le/8nHVVXHs2HH6HTy05KN+qS5EnKk2ROxUFxKptI1qJeFWxDqxRI7qBBMVMytO2s70qhFzONw8ls3Nivm8ZQnPrHuEo96ffyzh2LOitjWG2qhJMPHHPxZz7rkmF14Y4KuvXNx4Yyx5efZgwuu1uPRSP8OG+Rkxwk/btgmYpnpRRKrGUBciP4dqQ8ROdSGRSgFGJeFWxDqxRIZgwcSw3y2pEmK8f2sao/7PHtvjW+VDbkL1XqtdfHv6tb2I/2rbjwJ/AXM2zrKNyRiyJKJnV1RHJNdGTYKJygHBhg1u7rnHy9699mDC47Ho08dk5cpCfvzRxaWXxlUrmAjWi+LkmRXlx6hgIrxEcl2I1CXVhoid6kIilQKMSsKtiHViCb23lz/I098vJTOxhO7HYrj/7Nu55pYnq4x5f1Q6oy7ebXvsiKwYmiUls6tPKvv2ZfFV8Xf4g2xVWh2p7nZ8dPcODOPEB9GGtjSkusKxNmormDBNuOSSOL7+2v6PJTra4r77Spk8uZS77/by1lseLKv2gokzmVkh4Scc60IkHKg2ROxUFxKpFGBUEm5FrBNL3alOMPH28ge560iG7bG3mL1omdKbvVEl5G77hA3Grmr1pjiVKFcU3ZN60KtVb0zL5JXMl21jGsPMiuqqjdqoTuBQ3XHV+eBfUgKXXeYcTDRtapGdnc/KlR4eeMBLaSmUdTOpyu222Lkzn7i4stt1EUxoZkXk0jVDxJlqQ8ROdSGRSgFGJeFWxDqxVFXd0CHYGMuyOF56jFWvTWbK8Vdtz3+puxuJZ/cg72gOeXk57Cjdja8GMyaqK8Xdhn+O3Ua0+8TWlI11ZkV1nao2aitwON24yy7zk5Pj4uBBgwkTvOTk2JdyJCebbN5cQHp6PEePGvh84BRMuFwWu3fn4/OBYcDQoQom5MzpmiHiTLUhYqe6kEilAKOScCvixnJiqVYw8coD3HV0ke2x4+L+L2n9rqPQX8Cm/7zBm8X/to1pR1N8sdEcKTqMn0CdvY+TJbkSmNB/Gu3i29MuPpkvczcz7ePJtnENeWZFbc5yqDrOTWpqwDauuh/og81cSEsLcNddPo4eNTh+HFatinIMJtLTAwwf7mfVKg8tWlhs2OA+5VKO/HyIj4fBgxVMSN1pLNcMkTOl2hCxU11IpFKAUUm4FXFtnViqs0MGVC9IqOm4K0fOochfSKG/iCJfIe/+fTYzjr9ue+yAqG7EtOtIbuEBcgsPsLdgr9MvrkOiRYmbcZdMo218O9rEt2Xboa3M2jDDNs4pmKjtmRV1FxDUz7KK2hg3fXox559vctZZJqNGxToGBC1bmrRvb1UEE0ePGgQCzoHDzTf7SEws2zp07tzoWm1+qWBC6pJ+GBVxptoQsVNdSKRq0AGGaZrMnDmTrKwsoqOjmT17Np06dQo6PtyK+HQnlj/MepL/CaykpOVOYg6mcJt7BLOnP1hlTMzqVfzh2cUsvuQgxa2+JSb3HO76VxLT772doqt/ScAKELACvLvqESYes/ddmBx/DX0vvZ0ifzHF/iI2/utllhatt40bENWNpI49KPIXUuQvImdfJt8GDtT8f0Iti/PE4ystwGf/pTrtijzMuGYhLbxJtPC2YPN7GUw+vtw27sVm42yBzbTlq1n2/Z8oabKdmOPpjD57Eo/dcr3tsZEYEJzpuPx8KCgwuP76WL75xv6hvn17k/feKyQqymLJkmhefDGKQ4fsfyFxcRaXX+5n0aJinnkmmrlzo/H57GFCTIxFnz4Bxo3zMXas1zGYcLst3n23kCZNLJo2heHDnYOOkwMHBRMSSfTDqIgz1YaInepCIlWDDjDef/991q5dy+OPP86WLVvIyMhgwYIFQceHWxGf6sTyh1lPsijJvoVmfKAJcQmxBCw/fjNAYWE+fk/9LZuob7El0VzX6ybiouJ47d/LOB5bZBvT9khz3p/wKc1imuP1eIP+v7v70PQqAdDq1R7GPfsWDJgDrbZDbjp8PJWM310b0oAAwLKCL0fo1i3Aiy8W4/eD3w+//a2XHTucP4Tfe28p+fkGJSWQkRHNnj32ICEtLcDcuSX86U/RFBfDl1+6KS62hwSJiRbffJPPmDFeNm1yk5tr4DRtxjAs1q8vpFUrk0WLonn66WjH5Rdut8V77xVy3nkmubkG550XH3TWRPlsiNoOHBRMSCTRD6MizlQbInaqC4lUDTrAmDNnDueddx5XXXUVAJdccgkfffRR0PHhVsSnOrGcNfMCSlpn1/MR1QILommCx4ojKTGW3Uf2YHlKbcNcx9pxjedZ4sw29Di7FX95fS17Lr3XNq71ey9y0/m3ArB0w0ryr7nNNibpnSVkvn0DzzwTzd69Bm++6SEv+TVbMNFs902sW1dIcTE8/XQM777r4ehR5w/qd9xRysMPl7J4cRRz5sSQn28fFxdn0bt3gN/9rpSBAwN06ZJAUZHzDILOnU3cbli7tpDeveMdgwSXy8LrhdJSGDPGx//8T5TjB3qXyyIlxcTjAbcbMjNdQT/43367D58PvF5YvDgq6HKJzZsL2L7dRWwsXHddbK0uq6jNcXUROCiYkEihH0ZFnKk2ROxUFxKpGnSA8fDDD3P55ZczaNAgAAYPHsyaNWvweJz3vPT7A3g89bDtRC0wHvGAqwYzKyyIi4rH4/JQWuKm2Drq/Hyl8aR6B9C9q5ejh2JZ9+N7EJtnH3e0A9cnPMkFveLo1yeOIfPHQYtv7eP2ncsjbb4E4MEHoUn/5Vi/utX+/lYt59GbbgYgLQ1uvhkC3VfYQgd3/2CjfgAACZZJREFU5khmzy7buWHaNDDTncf4/fDKK3DoENx/P5im/dBcLjhwAAIB+Mc/YOxY53FuN7z/Plx2GXz+OfzXfwUft2ZN2fG3bg3R0WXPfTKPBzZtKnv9nj3Lbgcbd+RI2fN4PNCrF3z1lX3ceefBF19UvR2KcStWlP29nezVV2HkyLodN2cObN8O6ekwdWrV+0VEREREpGFpEAHGnDlz6NWrF8OGDQNg4MCBrF9v799QLtxSyJ8zAyPmYAr/eeBdPIYHj8tNzycvp6TFDts476Ee7Jq+oeJ231+tZPcvfm0b12HtYj5fNaLOxg0aFEem+3Vb6JBu3njGv30PxW/8QzkuXHtgVFbbsxxOjCvbhUSzIURO0G/TRJypNkTsVBcSqYLNwHBocRh5+vbtWxFYbNmyhdTU1BAfUe25zT3C+fvGLbSJa0NSbBJNY5oxuvNUx3GjUqpu5zl91K2w6lXYdx4EPGX/XfUq02+9tU7HTZxYCltHwsIvYJav7L9bRzJhQql9nIPK46ozpiGNu/56PxkZRaSnB/B4LNLTA44hQqjGlY9dt66QPXvyWbeuMGjYcKbjfD5OOU5ERERERBqPBjEDo3wXkuzsbCzL4rHHHiMlJSXo+HBLIauzC8nL/tcobrkT78EUxnhusu1CAme2Q0bd/La8/saF87HVxbjGSr81ELFTXYg4U22I2KkuJFI16B4YZyrcilgnFhFnqg0RO9WFiDPVhoid6kIiVYNeQiIiIiIiIiIiDZsCDBEREREREREJewowRERERERERCTsKcAQERERERERkbCnAENEREREREREwp4CDBEREREREREJewowRERERERERCTsKcAQERERERERkbCnAENEREREREREwp4CDBEREREREREJewowRERERERERCTsKcAQERERERERkbCnAENEREREREREwp4CDBEREREREREJewowRERERERERCTsGZZlWaE+CBERERERERGRU9EMDBEREREREREJewowRERERERERCTsKcAQERERERERkbCnAENEREREREREwp4CDBEREREREREJewowRERERERERCTseUJ9AI2ZaZrMnDmTrKwsoqOjmT17Np06dQr1YYnUO5/Px7Rp08jJyaG0tJTf/OY3dOnShSlTpmAYBl27duWRRx7B5VLmKo3ToUOHGD58OEuWLMHj8ag2pNHLyMhg7dq1+Hw+br75Zvr166e6kEbP5/MxZcoUcnJycLlczJo1S9cMaXD0rzeE1qxZQ2lpKStXrmTSpEk8/vjjoT4kkZD4+9//TrNmzVi+fDkvvPACs2bNYs6cOUycOJHly5djWRYffPBBqA9TJCR8Ph8zZszA6/UCqDak0du4cSObN2/m1VdfZdmyZezbt091IQL885//xO/3s2LFCsaPH8+8efNUG9LgKMAIoU2bNnHJJZcA0Lt3b7Zu3RriIxIJjSuuuIIJEyYAYFkWbrebbdu20a9fPwAGDhzIJ598EspDFAmZuXPnMnLkSFq3bg2g2pBG7+OPPyY1NZXx48dzzz33MHjwYNWFCHDOOecQCAQwTZP8/Hw8Ho9qQxocBRghlJ+fT0JCQsVtt9uN3+8P4RGJhEZ8fDwJCQnk5+dz3333MXHiRCzLwjCMivuPHz8e4qMUqX9vvvkmLVq0qAi7AdWGNHp5eXls3bqV+fPn8+ijj/LAAw+oLkSAuLg4cnJyuPLKK5k+fTqjR49WbUiDox4YIZSQkEBBQUHFbdM08Xj0VyKN0969exk/fjy33HIL11xzDU8++WTFfQUFBSQmJobw6ERC44033sAwDDZs2EBmZiYPPfQQhw8frrhftSGNUbNmzejcuTPR0dF07tyZmJgY9u3bV3G/6kIaq6VLlzJgwAAmTZrE3r17ue222/D5fBX3qzakIdAMjBDq27cv69evB2DLli2kpqaG+IhEQuPgwYPceeedPPjgg9xwww0ApKens3HjRgDWr1/PBRdcEMpDFAmJV155hb/+9a8sW7aM7t27M3fuXAYOHKjakEbt/PPP56OPPsKyLPbv309RURH9+/dXXUijl5iYSJMmTQBo2rQpfr9fP09Jg2NYlmWF+iAaq/JdSLKzs7Esi8cee4yUlJRQH5ZIvZs9ezbvvPMOnTt3rvjeww8/zOzZs/H5fHTu3JnZs2fjdrtDeJQioTV69GhmzpyJy+Vi+vTpqg1p1J544gk2btyIZVncf//9dOjQQXUhjV5BQQHTpk0jNzcXn8/HmDFj6Nmzp2pDGhQFGCIiIiIiIiIS9rSERERERERERETCngIMEREREREREQl7CjBEREREREREJOwpwBARERERERGRsKcAQ0RERERERETCngIMERERCRt+v58FCxZw5ZVXMmzYMIYOHcrChQuxLIv58+fzwQcf1Pg19u/fz69//etaOFoRERGpT9pGVURERMLG9OnTOXjwIHPnziUxMZH8/HzGjx/P5Zdfzq233hrqwxMREZEQUoAhIiIiYWHfvn0MHTqU9evX07Rp04rv79y5k2+++YYPP/yQfv36MXz4cN544w1eeuklDMOgR48eTJ8+nfj4eC666CJ69OjBwYMHmTx5Mi+++CJer5edO3fSrVs3nnrqKQ4cOMCYMWNYu3ZtCN+tiIiInCktIREREZGw8OWXX5KSklIlvABISUlh6NChFbezsrJYuHAhy5Yt4+233yY2NpbnnnsOgLy8PO6++27eeustPB4PmzdvZsaMGbzzzjvs2bOHjz/+uF7fk4iIiNQeT6gPQERERKScYRgVX7/77rssWLAA0zSJjo6ma9euAHz22WdceumlNG/eHIARI0YwderUisf16tWr4uuuXbvStm1boCwIOXr0aH28DREREakDmoEhIiIiYaFHjx7s3LmT/Px8AK644greeustFixYQF5eXsU40zSrPM6yLPx+f8Vtr9db8XVMTEzF14ZhoJWzIiIikUsBhoiIiISF5ORkfvnLX/LQQw9x7NgxAAKBAOvWrcPlOvEjS79+/Vi7di1HjhwB4LXXXuPCCy8MyTGLiIhI/dESEhEREQkbM2fO5KWXXmLMmDFYlkVpaSm9e/dm8eLFZGRkAJCWlsa4ceMYPXo0Pp+PHj168Oijj4b4yEVERKSuaRcSEREREREREQl7WkIiIiIiIiIiImFPAYaIiIiIiIiIhD0FGCIiIiIiIiIS9hRgiIiIiIiIiEjYU4AhIiIiIiIiImFPAYaIiIiIiIiIhD0FGCIiIiIiIiIS9hRgiIiIiIiIiEjY+/8UR/zoTBLwuAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "\n", "# Set the style globally\n", "# Alternatives include bmh, fivethirtyeight, ggplot,dark_background\n", "# dark_background, seaborn-deep, etc\n", "#plt.style.use('fivethirtyeight')\n", "plt.figure(figsize=(18,8))\n", "#plt.plot(dn[\"data\"], dn.iloc[:,1])\n", "idx = np.linspace(1,len(data[\"data\"]),len(data[\"data\"]))\n", "plt.plot(idx,data[\"totale_casi\"],'ro--',label=\"totale_casi\", linewidth=1)\n", "plt.plot(idx,data[\"deceduti\"],'bo--',label=\"deceduti\", linewidth=1)\n", "plt.plot(idx,data[\"totale_positivi\"],'go-',label=\"totale_positivi\", linewidth=3)\n", "\n", "plt.legend( prop={'size': 20})\n", "plt.ylabel(\"Numero di persone\")\n", "plt.xlabel(\"Giorni\")\n", "\n", "#plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "UKRNjeXdVtU5" }, "source": [ "## Plotly dash\n", "\n", "* [Plotly Figure Parameters](https://plotly.com/python/reference/#layout-title)\n", "* [Plotly Creating and Updating figure](https://plotly.com/python/creating-and-updating-figures/)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 542 }, "colab_type": "code", "id": "eZGEvA97HeS4", "outputId": "ea9ab0d0-6cdb-47f8-9558-8a1fd5bfaff3" }, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "mode": "lines+markers", "name": "totale_casi", "type": "scatter", "x": [ "2020-02-24T18:00:00", "2020-02-25T18:00:00", "2020-02-26T18:00:00", "2020-02-27T18:00:00", "2020-02-28T18:00:00", "2020-02-29T18:00:00", "2020-03-01T18:00:00", "2020-03-02T18:00:00", "2020-03-03T18:00:00", "2020-03-04T18:00:00", "2020-03-05T18:00:00", "2020-03-06T18:00:00", "2020-03-07T18:00:00", "2020-03-08T18:00:00", "2020-03-09T18:00:00", "2020-03-10T18:00:00", "2020-03-11T17:00:00", "2020-03-12T17:00:00", "2020-03-13T17:00:00", "2020-03-14T17:00:00", "2020-03-15T17:00:00", "2020-03-16T17:00:00", "2020-03-17T17:00:00", "2020-03-18T17:00:00", "2020-03-19T17:00:00", "2020-03-20T17:00:00", "2020-03-21T17:00:00", "2020-03-22T17:00:00", "2020-03-23T17:00:00", "2020-03-24T17:00:00", "2020-03-25T17:00:00", "2020-03-26T17:00:00", "2020-03-27T17:00:00", "2020-03-28T17:00:00", "2020-03-29T17:00:00", "2020-03-30T17:00:00", "2020-03-31T17:00:00", "2020-04-01T17:00:00", "2020-04-02T17:00:00", "2020-04-03T17:00:00", "2020-04-04T17:00:00", "2020-04-05T17:00:00", "2020-04-06T17:00:00", "2020-04-07T17:00:00", "2020-04-08T17:00:00", "2020-04-09T17:00:00", "2020-04-10T17:00:00", "2020-04-11T17:00:00", "2020-04-12T17:00:00", "2020-04-13T17:00:00", "2020-04-14T17:00:00", "2020-04-15T17:00:00", "2020-04-16T17:00:00", "2020-04-17T17:00:00", "2020-04-18T17:00:00", "2020-04-19T17:00:00", "2020-04-20T17:00:00", "2020-04-21T17:00:00", "2020-04-22T17:00:00", "2020-04-23T17:00:00", "2020-04-24T17:00:00", "2020-04-25T17:00:00", "2020-04-26T17:00:00", "2020-04-27T17:00:00", "2020-04-28T17:00:00", "2020-04-29T17:00:00", "2020-04-30T17:00:00", "2020-05-01T17:00:00", "2020-05-02T17:00:00", "2020-05-03T17:00:00", "2020-05-04T17:00:00", "2020-05-05T17:00:00", "2020-05-06T17:00:00", "2020-05-07T17:00:00", "2020-05-08T17:00:00", "2020-05-09T17:00:00", "2020-05-10T17:00:00", "2020-05-11T17:00:00", "2020-05-12T17:00:00", "2020-05-13T17:00:00", "2020-05-14T17:00:00", "2020-05-15T17:00:00", "2020-05-16T17:00:00", "2020-05-17T17:00:00", "2020-05-18T17:00:00", "2020-05-19T17:00:00", "2020-05-20T17:00:00", "2020-05-21T17:00:00", "2020-05-22T17:00:00", "2020-05-23T17:00:00", "2020-05-24T17:00:00", "2020-05-25T17:00:00", "2020-05-26T17:00:00" ], "y": [ 229, 322, 400, 650, 888, 1128, 1694, 2036, 2502, 3089, 3858, 4636, 5883, 7375, 9172, 10149, 12462, 15113, 17660, 21157, 24747, 27980, 31506, 35713, 41035, 47021, 53578, 59138, 63927, 69176, 74386, 80539, 86498, 92472, 97689, 101739, 105792, 110574, 115242, 119827, 124632, 128948, 132547, 135586, 139422, 143626, 147577, 152271, 156363, 159516, 162488, 165155, 168941, 172434, 175925, 178972, 181228, 183957, 187327, 189973, 192994, 195351, 197675, 199414, 201505, 203591, 205463, 207428, 209328, 210717, 211938, 213013, 214457, 215858, 217185, 218268, 219070, 219814, 221216, 222104, 223096, 223885, 224760, 225435, 225886, 226699, 227364, 228006, 228658, 229327, 229858, 230158, 230555 ] }, { "mode": "lines+markers", "name": "deceduti", "type": "scatter", "x": [ "2020-02-24T18:00:00", "2020-02-25T18:00:00", "2020-02-26T18:00:00", "2020-02-27T18:00:00", "2020-02-28T18:00:00", "2020-02-29T18:00:00", "2020-03-01T18:00:00", "2020-03-02T18:00:00", "2020-03-03T18:00:00", "2020-03-04T18:00:00", "2020-03-05T18:00:00", "2020-03-06T18:00:00", "2020-03-07T18:00:00", "2020-03-08T18:00:00", "2020-03-09T18:00:00", "2020-03-10T18:00:00", "2020-03-11T17:00:00", "2020-03-12T17:00:00", "2020-03-13T17:00:00", "2020-03-14T17:00:00", "2020-03-15T17:00:00", "2020-03-16T17:00:00", "2020-03-17T17:00:00", "2020-03-18T17:00:00", "2020-03-19T17:00:00", "2020-03-20T17:00:00", "2020-03-21T17:00:00", "2020-03-22T17:00:00", "2020-03-23T17:00:00", "2020-03-24T17:00:00", "2020-03-25T17:00:00", "2020-03-26T17:00:00", "2020-03-27T17:00:00", "2020-03-28T17:00:00", "2020-03-29T17:00:00", "2020-03-30T17:00:00", "2020-03-31T17:00:00", "2020-04-01T17:00:00", "2020-04-02T17:00:00", "2020-04-03T17:00:00", "2020-04-04T17:00:00", "2020-04-05T17:00:00", "2020-04-06T17:00:00", "2020-04-07T17:00:00", "2020-04-08T17:00:00", "2020-04-09T17:00:00", "2020-04-10T17:00:00", "2020-04-11T17:00:00", "2020-04-12T17:00:00", "2020-04-13T17:00:00", "2020-04-14T17:00:00", "2020-04-15T17:00:00", "2020-04-16T17:00:00", "2020-04-17T17:00:00", "2020-04-18T17:00:00", "2020-04-19T17:00:00", "2020-04-20T17:00:00", "2020-04-21T17:00:00", "2020-04-22T17:00:00", "2020-04-23T17:00:00", "2020-04-24T17:00:00", "2020-04-25T17:00:00", "2020-04-26T17:00:00", "2020-04-27T17:00:00", "2020-04-28T17:00:00", "2020-04-29T17:00:00", "2020-04-30T17:00:00", "2020-05-01T17:00:00", "2020-05-02T17:00:00", "2020-05-03T17:00:00", "2020-05-04T17:00:00", "2020-05-05T17:00:00", "2020-05-06T17:00:00", "2020-05-07T17:00:00", "2020-05-08T17:00:00", "2020-05-09T17:00:00", "2020-05-10T17:00:00", "2020-05-11T17:00:00", "2020-05-12T17:00:00", "2020-05-13T17:00:00", "2020-05-14T17:00:00", "2020-05-15T17:00:00", "2020-05-16T17:00:00", "2020-05-17T17:00:00", "2020-05-18T17:00:00", "2020-05-19T17:00:00", "2020-05-20T17:00:00", "2020-05-21T17:00:00", "2020-05-22T17:00:00", "2020-05-23T17:00:00", "2020-05-24T17:00:00", "2020-05-25T17:00:00", "2020-05-26T17:00:00" ], "y": [ 7, 10, 12, 17, 21, 29, 34, 52, 79, 107, 148, 197, 233, 366, 463, 631, 827, 1016, 1266, 1441, 1809, 2158, 2503, 2978, 3405, 4032, 4825, 5476, 6077, 6820, 7503, 8165, 9134, 10023, 10779, 11591, 12428, 13155, 13915, 14681, 15362, 15887, 16523, 17127, 17669, 18279, 18849, 19468, 19899, 20465, 21067, 21645, 22170, 22745, 23227, 23660, 24114, 24648, 25085, 25549, 25969, 26384, 26644, 26977, 27359, 27682, 27967, 28236, 28710, 28884, 29079, 29315, 29684, 29958, 30201, 30395, 30560, 30739, 30911, 31106, 31368, 31610, 31763, 31908, 32007, 32169, 32330, 32486, 32616, 32735, 32785, 32877, 32955 ] }, { "mode": "lines+markers", "name": "totale_positivi", "type": "scatter", "x": [ "2020-02-24T18:00:00", "2020-02-25T18:00:00", "2020-02-26T18:00:00", "2020-02-27T18:00:00", "2020-02-28T18:00:00", "2020-02-29T18:00:00", "2020-03-01T18:00:00", "2020-03-02T18:00:00", "2020-03-03T18:00:00", "2020-03-04T18:00:00", "2020-03-05T18:00:00", "2020-03-06T18:00:00", "2020-03-07T18:00:00", "2020-03-08T18:00:00", "2020-03-09T18:00:00", "2020-03-10T18:00:00", "2020-03-11T17:00:00", "2020-03-12T17:00:00", "2020-03-13T17:00:00", "2020-03-14T17:00:00", "2020-03-15T17:00:00", "2020-03-16T17:00:00", "2020-03-17T17:00:00", "2020-03-18T17:00:00", "2020-03-19T17:00:00", "2020-03-20T17:00:00", "2020-03-21T17:00:00", "2020-03-22T17:00:00", "2020-03-23T17:00:00", "2020-03-24T17:00:00", "2020-03-25T17:00:00", "2020-03-26T17:00:00", "2020-03-27T17:00:00", "2020-03-28T17:00:00", "2020-03-29T17:00:00", "2020-03-30T17:00:00", "2020-03-31T17:00:00", "2020-04-01T17:00:00", "2020-04-02T17:00:00", "2020-04-03T17:00:00", "2020-04-04T17:00:00", "2020-04-05T17:00:00", "2020-04-06T17:00:00", "2020-04-07T17:00:00", "2020-04-08T17:00:00", "2020-04-09T17:00:00", "2020-04-10T17:00:00", "2020-04-11T17:00:00", "2020-04-12T17:00:00", "2020-04-13T17:00:00", "2020-04-14T17:00:00", "2020-04-15T17:00:00", "2020-04-16T17:00:00", "2020-04-17T17:00:00", "2020-04-18T17:00:00", "2020-04-19T17:00:00", "2020-04-20T17:00:00", "2020-04-21T17:00:00", "2020-04-22T17:00:00", "2020-04-23T17:00:00", "2020-04-24T17:00:00", "2020-04-25T17:00:00", "2020-04-26T17:00:00", "2020-04-27T17:00:00", "2020-04-28T17:00:00", "2020-04-29T17:00:00", "2020-04-30T17:00:00", "2020-05-01T17:00:00", "2020-05-02T17:00:00", "2020-05-03T17:00:00", "2020-05-04T17:00:00", "2020-05-05T17:00:00", "2020-05-06T17:00:00", "2020-05-07T17:00:00", "2020-05-08T17:00:00", "2020-05-09T17:00:00", "2020-05-10T17:00:00", "2020-05-11T17:00:00", "2020-05-12T17:00:00", "2020-05-13T17:00:00", "2020-05-14T17:00:00", "2020-05-15T17:00:00", "2020-05-16T17:00:00", "2020-05-17T17:00:00", "2020-05-18T17:00:00", "2020-05-19T17:00:00", "2020-05-20T17:00:00", "2020-05-21T17:00:00", "2020-05-22T17:00:00", "2020-05-23T17:00:00", "2020-05-24T17:00:00", "2020-05-25T17:00:00", "2020-05-26T17:00:00" ], "y": [ 221, 311, 385, 588, 821, 1049, 1577, 1835, 2263, 2706, 3296, 3916, 5061, 6387, 7985, 8514, 10590, 12839, 14955, 17750, 20603, 23073, 26062, 28710, 33190, 37860, 42681, 46638, 50418, 54030, 57521, 62013, 66414, 70065, 73880, 75528, 77635, 80572, 83049, 85388, 88274, 91246, 93187, 94067, 95262, 96877, 98273, 100269, 102253, 103616, 104291, 105418, 106607, 106962, 107771, 108257, 108237, 107709, 107699, 106848, 106527, 105847, 106103, 105813, 105205, 104657, 101551, 100943, 100704, 100179, 99980, 98467, 91528, 89624, 87961, 84842, 83324, 82488, 81266, 78457, 76440, 72070, 70187, 68351, 66553, 65129, 62752, 60960, 59322, 57752, 56594, 55300, 52942 ] } ], "layout": { "font": { "size": 20 }, "hovermode": "x", "paper_bgcolor": "rgb(0,0,0)", "plot_bgcolor": "rgb(10,10,10)", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "color": "rgb(255,255,255)", "size": 40 }, "text": "Andamento Italia COVID 19", "x": 0.5 } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import plotly.graph_objects as go\n", "# https://plotly.com/python/line-charts/\n", "# lines, markers, line+martkers\n", "# https://plotly.com/python/creating-and-updating-figures/\n", "# https://plotly.com/python/reference/#layout-title\n", "fig = go.Figure()\n", "fig.add_trace(go.Scatter(x=data[\"data\"], y=data[\"totale_casi\"],\n", " mode='lines+markers',\n", " name='totale_casi'))\n", "fig.add_trace(go.Scatter(x=data[\"data\"], y=data[\"deceduti\"],\n", " mode='lines+markers',\n", " name='deceduti'))\n", "fig.add_trace(go.Scatter(x=data[\"data\"], y=data[\"totale_positivi\"],\n", " mode='lines+markers',\n", " name='totale_positivi'))\n", "fig.layout.hovermode = \"x\" #['x', 'y', 'closest', False]\n", "fig.layout.paper_bgcolor = \"rgb(0,0,0)\" \n", "fig.layout.font.size = 20\n", "fig.layout.title.text = \"Andamento Italia COVID 19\"\n", "fig.layout.title.x = 0.5\n", "fig.layout.titlefont.size = 40\n", "fig.layout.title.font.color = \"rgb(255,255,255)\"\n", "fig.layout.plot_bgcolor = \"rgb(10,10,10)\" \n", "fig.show()" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "Pandas.ipynb", "provenance": [], "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.9" } }, "nbformat": 4, "nbformat_minor": 1 }