{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "fdc713f7",
   "metadata": {},
   "source": [
    "# Usando pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "61552e26",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2650bed8-4416-4b8d-ac09-fc69c72dd0c7",
   "metadata": {},
   "source": [
    "# Representação da Tabela de Dados Pandas"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "041ebb98-bcf2-4953-ae57-c0c12d0eb0a9",
   "metadata": {},
   "source": [
    "![title](Pandas/representacao.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a63e5b45-0928-4bb1-8358-5e280e1cc34d",
   "metadata": {},
   "source": [
    "### Uma column (coluna) é um objeto Séries do pandas. Assim um DataFrame é um conjunto de Series"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa3df700-ab6e-4333-bb10-79636a5add8f",
   "metadata": {},
   "source": [
    "![title](Alunos.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c9b66cfb",
   "metadata": {},
   "source": [
    "![title](series-and-dataframe.width-1200.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "138231a0-6f2e-45bd-a3ca-507832194e3d",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d711a59-6789-4962-abe2-437dea9ae496",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "434aefeb-843d-4045-a17c-e3262473caad",
   "metadata": {},
   "source": [
    "# O Pandas pega um dicionário e transforma em um objeto DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "bfa9ea4a",
   "metadata": {},
   "outputs": [],
   "source": [
    "dictAlunos={\"Nome\":[\"Maria\", \"Pedro\", \"Paulo\", \"Ana\"],\n",
    "            \"Português\": [5.0,4.0,3.5,2.5],\n",
    "            \"Matemática\":[7.0,8.0,9.0,7.5],\n",
    "            \"Programação\":[9.0,10.0,8.5,8.0]}\n",
    "\n",
    "df=pd.DataFrame(dictAlunos)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "e3e74e9f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Nome</th>\n",
       "      <th>Português</th>\n",
       "      <th>Matemática</th>\n",
       "      <th>Programação</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Maria</td>\n",
       "      <td>5.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>9.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Pedro</td>\n",
       "      <td>4.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Paulo</td>\n",
       "      <td>3.5</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Ana</td>\n",
       "      <td>2.5</td>\n",
       "      <td>7.5</td>\n",
       "      <td>8.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Nome  Português  Matemática  Programação\n",
       "0  Maria        5.0         7.0          9.0\n",
       "1  Pedro        4.0         8.0         10.0\n",
       "2  Paulo        3.5         9.0          8.5\n",
       "3    Ana        2.5         7.5          8.0"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "93c14446-d69b-47e3-bd01-2c7c89bfdc92",
   "metadata": {},
   "source": [
    "### Acima podemos ver que um DataFrame utiliza índices para relacionar com a linha. Por padrão os índices são rotulados com números (0,1,2, ...)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9282eac1-ea33-413a-8ceb-973bb30c1190",
   "metadata": {},
   "source": [
    "## Representação dos dados em uma planilha"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5f40cc14-09cc-4fdc-b399-01c5e67becbf",
   "metadata": {},
   "source": [
    "![title](Pandas/Alunos.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1db1a27c-5b59-4614-abf4-ed9df14dec77",
   "metadata": {},
   "source": [
    "# Lendo Planilhas"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "565ce391",
   "metadata": {},
   "source": [
    "### As vezes é necessário instalar o pacote odfpy para ler planilhas que não sejam microsoft, como o formato ods (Calc)\n",
    "#### Com o comando pip install odfpy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "af948a20",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting odfpy\n",
      "  Using cached odfpy-1.4.1.tar.gz (717 kB)\n",
      "  Preparing metadata (setup.py) ... \u001b[?25ldone\n",
      "\u001b[?25hRequirement already satisfied: defusedxml in /opt/anaconda3/lib/python3.10/site-packages (from odfpy) (0.7.1)\n",
      "Building wheels for collected packages: odfpy\n",
      "  Building wheel for odfpy (setup.py) ... \u001b[?25ldone\n",
      "\u001b[?25h  Created wheel for odfpy: filename=odfpy-1.4.1-py2.py3-none-any.whl size=160672 sha256=57a687ec1d4804ec6e6964b24bea380916088227353a1b9daf214544611fc0a7\n",
      "  Stored in directory: /home/ojacques/.cache/pip/wheels/9e/28/33/c15fd2ca17ade7bcc260a848e305f6b24f24464fe06d6d3d55\n",
      "Successfully built odfpy\n",
      "Installing collected packages: odfpy\n",
      "Successfully installed odfpy-1.4.1\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "pip install odfpy"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3a310d75-0dfa-4c29-a78b-6839c2e318e7",
   "metadata": {},
   "source": [
    "## Lendo dados da planilha Brasil no arquivo covid19.ods somente das colunas Data, Mortes, Infect, Tot Vivos"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1557b32f",
   "metadata": {},
   "outputs": [],
   "source": [
    "dfCov=pd.read_excel('Covid19/covid19.ods',sheet_name='Brasil',usecols=\"A:I\",engine='odf') #se não der certo, pip install odfpy"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e7de4f7b-c7a9-47be-b8e9-823dfecedec5",
   "metadata": {},
   "source": [
    "### Ver o cabeçalho do DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "72d13961",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Data</th>\n",
       "      <th>Mortes</th>\n",
       "      <th>Infect</th>\n",
       "      <th>Tot Vivos</th>\n",
       "      <th>Porc Mortes</th>\n",
       "      <th>Esc Log</th>\n",
       "      <th>Tx Cresc %</th>\n",
       "      <th>Casos/Dia</th>\n",
       "      <th>Mortos/Dia</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-02-26</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-02-27</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-02-28</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.00000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-02-29</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.30103</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-01</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.30103</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Data  Mortes  Infect  Tot Vivos  Porc Mortes  Esc Log  Tx Cresc %  \\\n",
       "0 2020-02-26       0       1          1          0.0  0.00000         0.0   \n",
       "1 2020-02-27       0       1          1          0.0  0.00000         0.0   \n",
       "2 2020-02-28       0       1          1          0.0  0.00000         0.0   \n",
       "3 2020-02-29       0       2          2          0.0  0.30103         1.0   \n",
       "4 2020-03-01       0       2          2          0.0  0.30103         0.0   \n",
       "\n",
       "   Casos/Dia  Mortos/Dia  \n",
       "0          1           0  \n",
       "1          0           0  \n",
       "2          0           0  \n",
       "3          1           0  \n",
       "4          0           0  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfCov.head() "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba6e579e-8551-40d0-8476-70a4a62f50f3",
   "metadata": {},
   "source": [
    "### Ver o rodapé do DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8bf85545-0bc1-406d-b1b9-58ce5e71ab9f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Data</th>\n",
       "      <th>Mortes</th>\n",
       "      <th>Infect</th>\n",
       "      <th>Tot Vivos</th>\n",
       "      <th>Porc Mortes</th>\n",
       "      <th>Esc Log</th>\n",
       "      <th>Tx Cresc %</th>\n",
       "      <th>Casos/Dia</th>\n",
       "      <th>Mortos/Dia</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>170</th>\n",
       "      <td>2020-08-14</td>\n",
       "      <td>106523</td>\n",
       "      <td>3275520</td>\n",
       "      <td>3168997</td>\n",
       "      <td>0.032521</td>\n",
       "      <td>6.515280</td>\n",
       "      <td>0.015704</td>\n",
       "      <td>50644</td>\n",
       "      <td>1060</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>2020-08-15</td>\n",
       "      <td>107232</td>\n",
       "      <td>3317096</td>\n",
       "      <td>3209864</td>\n",
       "      <td>0.032327</td>\n",
       "      <td>6.520758</td>\n",
       "      <td>0.012693</td>\n",
       "      <td>41576</td>\n",
       "      <td>709</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>2020-08-16</td>\n",
       "      <td>107852</td>\n",
       "      <td>3340197</td>\n",
       "      <td>3232345</td>\n",
       "      <td>0.032289</td>\n",
       "      <td>6.523772</td>\n",
       "      <td>0.006964</td>\n",
       "      <td>23101</td>\n",
       "      <td>620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>173</th>\n",
       "      <td>2020-08-17</td>\n",
       "      <td>108536</td>\n",
       "      <td>3359570</td>\n",
       "      <td>3251034</td>\n",
       "      <td>0.032307</td>\n",
       "      <td>6.526284</td>\n",
       "      <td>0.005800</td>\n",
       "      <td>19373</td>\n",
       "      <td>684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>174</th>\n",
       "      <td>2020-08-18</td>\n",
       "      <td>109888</td>\n",
       "      <td>3407354</td>\n",
       "      <td>3297466</td>\n",
       "      <td>0.032250</td>\n",
       "      <td>6.532417</td>\n",
       "      <td>0.014223</td>\n",
       "      <td>47784</td>\n",
       "      <td>1352</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          Data  Mortes   Infect  Tot Vivos  Porc Mortes   Esc Log  Tx Cresc %  \\\n",
       "170 2020-08-14  106523  3275520    3168997     0.032521  6.515280    0.015704   \n",
       "171 2020-08-15  107232  3317096    3209864     0.032327  6.520758    0.012693   \n",
       "172 2020-08-16  107852  3340197    3232345     0.032289  6.523772    0.006964   \n",
       "173 2020-08-17  108536  3359570    3251034     0.032307  6.526284    0.005800   \n",
       "174 2020-08-18  109888  3407354    3297466     0.032250  6.532417    0.014223   \n",
       "\n",
       "     Casos/Dia  Mortos/Dia  \n",
       "170      50644        1060  \n",
       "171      41576         709  \n",
       "172      23101         620  \n",
       "173      19373         684  \n",
       "174      47784        1352  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfCov.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "80533bf4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Data</th>\n",
       "      <th>Mortes</th>\n",
       "      <th>Infect</th>\n",
       "      <th>Tot Vivos</th>\n",
       "      <th>Porc Mortes</th>\n",
       "      <th>Esc Log</th>\n",
       "      <th>Tx Cresc %</th>\n",
       "      <th>Casos/Dia</th>\n",
       "      <th>Mortos/Dia</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-02-26</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-02-27</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-02-28</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-02-29</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.301030</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2020-03-01</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.301030</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>170</th>\n",
       "      <td>2020-08-14</td>\n",
       "      <td>106523</td>\n",
       "      <td>3275520</td>\n",
       "      <td>3168997</td>\n",
       "      <td>0.032521</td>\n",
       "      <td>6.515280</td>\n",
       "      <td>0.015704</td>\n",
       "      <td>50644</td>\n",
       "      <td>1060</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>171</th>\n",
       "      <td>2020-08-15</td>\n",
       "      <td>107232</td>\n",
       "      <td>3317096</td>\n",
       "      <td>3209864</td>\n",
       "      <td>0.032327</td>\n",
       "      <td>6.520758</td>\n",
       "      <td>0.012693</td>\n",
       "      <td>41576</td>\n",
       "      <td>709</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>172</th>\n",
       "      <td>2020-08-16</td>\n",
       "      <td>107852</td>\n",
       "      <td>3340197</td>\n",
       "      <td>3232345</td>\n",
       "      <td>0.032289</td>\n",
       "      <td>6.523772</td>\n",
       "      <td>0.006964</td>\n",
       "      <td>23101</td>\n",
       "      <td>620</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>173</th>\n",
       "      <td>2020-08-17</td>\n",
       "      <td>108536</td>\n",
       "      <td>3359570</td>\n",
       "      <td>3251034</td>\n",
       "      <td>0.032307</td>\n",
       "      <td>6.526284</td>\n",
       "      <td>0.005800</td>\n",
       "      <td>19373</td>\n",
       "      <td>684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>174</th>\n",
       "      <td>2020-08-18</td>\n",
       "      <td>109888</td>\n",
       "      <td>3407354</td>\n",
       "      <td>3297466</td>\n",
       "      <td>0.032250</td>\n",
       "      <td>6.532417</td>\n",
       "      <td>0.014223</td>\n",
       "      <td>47784</td>\n",
       "      <td>1352</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>175 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          Data  Mortes   Infect  Tot Vivos  Porc Mortes   Esc Log  Tx Cresc %  \\\n",
       "0   2020-02-26       0        1          1     0.000000  0.000000    0.000000   \n",
       "1   2020-02-27       0        1          1     0.000000  0.000000    0.000000   \n",
       "2   2020-02-28       0        1          1     0.000000  0.000000    0.000000   \n",
       "3   2020-02-29       0        2          2     0.000000  0.301030    1.000000   \n",
       "4   2020-03-01       0        2          2     0.000000  0.301030    0.000000   \n",
       "..         ...     ...      ...        ...          ...       ...         ...   \n",
       "170 2020-08-14  106523  3275520    3168997     0.032521  6.515280    0.015704   \n",
       "171 2020-08-15  107232  3317096    3209864     0.032327  6.520758    0.012693   \n",
       "172 2020-08-16  107852  3340197    3232345     0.032289  6.523772    0.006964   \n",
       "173 2020-08-17  108536  3359570    3251034     0.032307  6.526284    0.005800   \n",
       "174 2020-08-18  109888  3407354    3297466     0.032250  6.532417    0.014223   \n",
       "\n",
       "     Casos/Dia  Mortos/Dia  \n",
       "0            1           0  \n",
       "1            0           0  \n",
       "2            0           0  \n",
       "3            1           0  \n",
       "4            0           0  \n",
       "..         ...         ...  \n",
       "170      50644        1060  \n",
       "171      41576         709  \n",
       "172      23101         620  \n",
       "173      19373         684  \n",
       "174      47784        1352  \n",
       "\n",
       "[175 rows x 9 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(dfCov)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b32419b9",
   "metadata": {},
   "source": [
    "## Salvando DataFrame em arquivo de planilhas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "76c2e0d0",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_excel(\"Pandas/Alunos.xlsx\", engine='auto') #se fosse uma planilha LibreOffice, engine='odf'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "db63fdff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    Maria\n",
       "1    Pedro\n",
       "2    Paulo\n",
       "3      Ana\n",
       "Name: Nome, dtype: object"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"Nome\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b9d66abb-2510-4cb1-8d81-f43f36159582",
   "metadata": {},
   "source": [
    "## Diferenças entre rótulo de índice e número de índice"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b7435e3-ccd0-4785-9ee7-07c0acd46b8f",
   "metadata": {},
   "source": [
    "### Vamos criar um DataFrame com rótulos de índices não padrão"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "33c4b1d7-9fcd-4c20-9c99-913a02861d2f",
   "metadata": {},
   "outputs": [],
   "source": [
    "df2=pd.DataFrame(dictAlunos, index=['linha0','linha1','linha2','linha3']) #Rotulando os índices de linha, por default o pandas preenche os rótulos com números 0, 1, 2, ... "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "7c3f7323-9a94-450b-97bd-fc5858467035",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Nome</th>\n",
       "      <th>Português</th>\n",
       "      <th>Matemática</th>\n",
       "      <th>Programação</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>linha0</th>\n",
       "      <td>Maria</td>\n",
       "      <td>5.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>9.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>linha1</th>\n",
       "      <td>Pedro</td>\n",
       "      <td>4.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>10.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>linha2</th>\n",
       "      <td>Paulo</td>\n",
       "      <td>3.5</td>\n",
       "      <td>9.0</td>\n",
       "      <td>8.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>linha3</th>\n",
       "      <td>Ana</td>\n",
       "      <td>2.5</td>\n",
       "      <td>7.5</td>\n",
       "      <td>8.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         Nome  Português  Matemática  Programação\n",
       "linha0  Maria        5.0         7.0          9.0\n",
       "linha1  Pedro        4.0         8.0         10.0\n",
       "linha2  Paulo        3.5         9.0          8.5\n",
       "linha3    Ana        2.5         7.5          8.0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a9dc387-8c82-447d-9524-75539e38cd00",
   "metadata": {},
   "source": [
    "### Buscando a Série pelo rótulo da linha, com o método loc "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "891b64c9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nome           Maria\n",
      "Português        5.0\n",
      "Matemática       7.0\n",
      "Programação      9.0\n",
      "Name: linha0, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(df2.loc['linha0']) #loc exibe uma Series relacionada à linha de rótulo linha0"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a5035ffd-1a82-42e9-9429-9080a6992a2b",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Buscando a Série pelo número da linha, com o método iloc "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "7155b1a4-e4f1-492f-b126-2973f8528fea",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nome           Maria\n",
      "Português        5.0\n",
      "Matematica       7.0\n",
      "Programação      9.0\n",
      "Name: linha0, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(df2.iloc[0])     #iloc exibe uma Series relacionada a 'linha0' ou linha de índice 0"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "64e59a47-c86c-4d49-ba9b-f37c6cc8c62e",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Buscando a Série pelo rótulo da linha, com o método loc "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "5c9f5279",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nome           Pedro\n",
      "Português        4.0\n",
      "Matematica       8.0\n",
      "Programação     10.0\n",
      "Name: linha1, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(df2.loc['linha1'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6b9eee36-b10d-44f8-8c70-7db185107580",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Buscando a Série pelo número da linha, com o método iloc "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "cb9c6004-c087-4a36-a4cf-8911b5a9d6d5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nome           Pedro\n",
      "Português        4.0\n",
      "Matematica       8.0\n",
      "Programação     10.0\n",
      "Name: linha1, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(df2.iloc[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "5cf0c50b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Nome           Ana\n",
      "Português      2.5\n",
      "Matematica     7.5\n",
      "Programação    8.0\n",
      "Name: linha3, dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(df2.iloc[-1]) # com iloc podemos tratar os índices como em slices de listas"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01938829-9f0e-47d0-8491-d9db2bfd5edf",
   "metadata": {},
   "source": [
    "### Lendo arquivo csv com separador em tabulações"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "502c156f-bfbd-4ee1-ab4f-0d84e85d3915",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>country</th>\n",
       "      <th>continent</th>\n",
       "      <th>year</th>\n",
       "      <th>lifeExp</th>\n",
       "      <th>pop</th>\n",
       "      <th>gdpPercap</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1952</td>\n",
       "      <td>28.801</td>\n",
       "      <td>8425333</td>\n",
       "      <td>779.445314</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1957</td>\n",
       "      <td>30.332</td>\n",
       "      <td>9240934</td>\n",
       "      <td>820.853030</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1962</td>\n",
       "      <td>31.997</td>\n",
       "      <td>10267083</td>\n",
       "      <td>853.100710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1967</td>\n",
       "      <td>34.020</td>\n",
       "      <td>11537966</td>\n",
       "      <td>836.197138</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1972</td>\n",
       "      <td>36.088</td>\n",
       "      <td>13079460</td>\n",
       "      <td>739.981106</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1699</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>1987</td>\n",
       "      <td>62.351</td>\n",
       "      <td>9216418</td>\n",
       "      <td>706.157306</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1700</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>1992</td>\n",
       "      <td>60.377</td>\n",
       "      <td>10704340</td>\n",
       "      <td>693.420786</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1701</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>1997</td>\n",
       "      <td>46.809</td>\n",
       "      <td>11404948</td>\n",
       "      <td>792.449960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1702</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>2002</td>\n",
       "      <td>39.989</td>\n",
       "      <td>11926563</td>\n",
       "      <td>672.038623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1703</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>2007</td>\n",
       "      <td>43.487</td>\n",
       "      <td>12311143</td>\n",
       "      <td>469.709298</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1704 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          country continent  year  lifeExp       pop   gdpPercap\n",
       "0     Afghanistan      Asia  1952   28.801   8425333  779.445314\n",
       "1     Afghanistan      Asia  1957   30.332   9240934  820.853030\n",
       "2     Afghanistan      Asia  1962   31.997  10267083  853.100710\n",
       "3     Afghanistan      Asia  1967   34.020  11537966  836.197138\n",
       "4     Afghanistan      Asia  1972   36.088  13079460  739.981106\n",
       "...           ...       ...   ...      ...       ...         ...\n",
       "1699     Zimbabwe    Africa  1987   62.351   9216418  706.157306\n",
       "1700     Zimbabwe    Africa  1992   60.377  10704340  693.420786\n",
       "1701     Zimbabwe    Africa  1997   46.809  11404948  792.449960\n",
       "1702     Zimbabwe    Africa  2002   39.989  11926563  672.038623\n",
       "1703     Zimbabwe    Africa  2007   43.487  12311143  469.709298\n",
       "\n",
       "[1704 rows x 6 columns]"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfGap=pd.read_csv('Pandas/data/gapminder.tsv',sep='\\t')\n",
    "dfGap"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b1796fc1-7ad1-4926-83ba-2a33891b62c8",
   "metadata": {},
   "source": [
    "### Renomeando as colunas para entender melhor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "d4e8dc7a-51a2-493b-b90c-1227af413264",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>País</th>\n",
       "      <th>Continente</th>\n",
       "      <th>Ano</th>\n",
       "      <th>Expec Vida</th>\n",
       "      <th>População</th>\n",
       "      <th>Renda Per Capita</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1952</td>\n",
       "      <td>28.80</td>\n",
       "      <td>8425333</td>\n",
       "      <td>779.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1957</td>\n",
       "      <td>30.33</td>\n",
       "      <td>9240934</td>\n",
       "      <td>820.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1962</td>\n",
       "      <td>32.00</td>\n",
       "      <td>10267083</td>\n",
       "      <td>853.10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1967</td>\n",
       "      <td>34.02</td>\n",
       "      <td>11537966</td>\n",
       "      <td>836.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Afghanistan</td>\n",
       "      <td>Asia</td>\n",
       "      <td>1972</td>\n",
       "      <td>36.09</td>\n",
       "      <td>13079460</td>\n",
       "      <td>739.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1699</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>1987</td>\n",
       "      <td>62.35</td>\n",
       "      <td>9216418</td>\n",
       "      <td>706.16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1700</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>1992</td>\n",
       "      <td>60.38</td>\n",
       "      <td>10704340</td>\n",
       "      <td>693.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1701</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>1997</td>\n",
       "      <td>46.81</td>\n",
       "      <td>11404948</td>\n",
       "      <td>792.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1702</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>2002</td>\n",
       "      <td>39.99</td>\n",
       "      <td>11926563</td>\n",
       "      <td>672.04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1703</th>\n",
       "      <td>Zimbabwe</td>\n",
       "      <td>Africa</td>\n",
       "      <td>2007</td>\n",
       "      <td>43.49</td>\n",
       "      <td>12311143</td>\n",
       "      <td>469.71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1704 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             País Continente   Ano  Expec Vida  População  Renda Per Capita\n",
       "0     Afghanistan       Asia  1952       28.80    8425333            779.45\n",
       "1     Afghanistan       Asia  1957       30.33    9240934            820.85\n",
       "2     Afghanistan       Asia  1962       32.00   10267083            853.10\n",
       "3     Afghanistan       Asia  1967       34.02   11537966            836.20\n",
       "4     Afghanistan       Asia  1972       36.09   13079460            739.98\n",
       "...           ...        ...   ...         ...        ...               ...\n",
       "1699     Zimbabwe     Africa  1987       62.35    9216418            706.16\n",
       "1700     Zimbabwe     Africa  1992       60.38   10704340            693.42\n",
       "1701     Zimbabwe     Africa  1997       46.81   11404948            792.45\n",
       "1702     Zimbabwe     Africa  2002       39.99   11926563            672.04\n",
       "1703     Zimbabwe     Africa  2007       43.49   12311143            469.71\n",
       "\n",
       "[1704 rows x 6 columns]"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfGap.columns=['País','Continente','Ano','Expec Vida','População','Renda Per Capita']\n",
    "dfGap"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "942e3574-ca3c-42d4-9743-18d6fba6633c",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Mudando a precisão de exibição para 2 casas decimais"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "id": "6ba95495-f9a4-4426-88f8-7858b7124894",
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.set_option('display.precision',2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e98cc588-6642-4324-92cc-c00043da658e",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Retirando as notações científicas e exibindo no máximo 2 casas decimais"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "id": "810eaca6-826c-4380-a8b0-96cc29a20a37",
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.set_option('float_format','{:.2f}'.format)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc89d544-a701-4b2c-9198-3ba70f40dda9",
   "metadata": {},
   "source": [
    "### Agrupar por ano, calcular a média da expectativa de vida"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "id": "b2230aba",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ano\n",
      "1952   49.06\n",
      "1957   51.51\n",
      "1962   53.61\n",
      "1967   55.68\n",
      "1972   57.65\n",
      "1977   59.57\n",
      "1982   61.53\n",
      "1987   63.21\n",
      "1992   64.16\n",
      "1997   65.01\n",
      "2002   65.69\n",
      "2007   67.01\n",
      "Name: Expec Vida, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "print(dfGap.groupby('Ano')['Expec Vida'].mean()) #Para cada ano, qual é a expectativa média de vida "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed57ff31-4d01-45a9-8571-cec6c73df72c",
   "metadata": {},
   "source": [
    "### Agrupar por país e continente calcular a expectativa de vida média"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "id": "eb2ed261",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ano   Continente\n",
      "1952  Africa       39.14\n",
      "      Americas     53.28\n",
      "      Asia         46.31\n",
      "      Europe       64.41\n",
      "      Oceania      69.25\n",
      "1957  Africa       41.27\n",
      "      Americas     55.96\n",
      "      Asia         49.32\n",
      "      Europe       66.70\n",
      "      Oceania      70.30\n",
      "1962  Africa       43.32\n",
      "      Americas     58.40\n",
      "      Asia         51.56\n",
      "      Europe       68.54\n",
      "      Oceania      71.09\n",
      "1967  Africa       45.33\n",
      "      Americas     60.41\n",
      "      Asia         54.66\n",
      "      Europe       69.74\n",
      "      Oceania      71.31\n",
      "1972  Africa       47.45\n",
      "      Americas     62.39\n",
      "      Asia         57.32\n",
      "      Europe       70.78\n",
      "      Oceania      71.91\n",
      "1977  Africa       49.58\n",
      "      Americas     64.39\n",
      "      Asia         59.61\n",
      "      Europe       71.94\n",
      "      Oceania      72.85\n",
      "1982  Africa       51.59\n",
      "      Americas     66.23\n",
      "      Asia         62.62\n",
      "      Europe       72.81\n",
      "      Oceania      74.29\n",
      "1987  Africa       53.34\n",
      "      Americas     68.09\n",
      "      Asia         64.85\n",
      "      Europe       73.64\n",
      "      Oceania      75.32\n",
      "1992  Africa       53.63\n",
      "      Americas     69.57\n",
      "      Asia         66.54\n",
      "      Europe       74.44\n",
      "      Oceania      76.94\n",
      "1997  Africa       53.60\n",
      "      Americas     71.15\n",
      "      Asia         68.02\n",
      "      Europe       75.51\n",
      "      Oceania      78.19\n",
      "2002  Africa       53.33\n",
      "      Americas     72.42\n",
      "      Asia         69.23\n",
      "      Europe       76.70\n",
      "      Oceania      79.74\n",
      "2007  Africa       54.81\n",
      "      Americas     73.61\n",
      "      Asia         70.73\n",
      "      Europe       77.65\n",
      "      Oceania      80.72\n",
      "Name: Expec Vida, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "print(dfGap.groupby(['Ano','Continente'])['Expec Vida'].mean()) #Para cada país, qual é a média da expectativa de vida "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5f9dd25-79e8-4d45-b476-d2114f365464",
   "metadata": {},
   "source": [
    "### Fazendo um resumo estatísticos dos dados que podem ser calculados"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "71fdb1d6-dac8-49b8-9187-54a3a60a9db0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Ano</th>\n",
       "      <th>Expec Vida</th>\n",
       "      <th>População</th>\n",
       "      <th>Renda Per Capita</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1704.00</td>\n",
       "      <td>1704.00</td>\n",
       "      <td>1704.00</td>\n",
       "      <td>1704.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>1979.50</td>\n",
       "      <td>59.47</td>\n",
       "      <td>29601212.32</td>\n",
       "      <td>7215.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>17.27</td>\n",
       "      <td>12.92</td>\n",
       "      <td>106157896.74</td>\n",
       "      <td>9857.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1952.00</td>\n",
       "      <td>23.60</td>\n",
       "      <td>60011.00</td>\n",
       "      <td>241.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1965.75</td>\n",
       "      <td>48.20</td>\n",
       "      <td>2793664.00</td>\n",
       "      <td>1202.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>1979.50</td>\n",
       "      <td>60.71</td>\n",
       "      <td>7023595.50</td>\n",
       "      <td>3531.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>1993.25</td>\n",
       "      <td>70.85</td>\n",
       "      <td>19585221.75</td>\n",
       "      <td>9325.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2007.00</td>\n",
       "      <td>82.60</td>\n",
       "      <td>1318683096.00</td>\n",
       "      <td>113523.13</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          Ano  Expec Vida     População  Renda Per Capita\n",
       "count 1704.00     1704.00       1704.00           1704.00\n",
       "mean  1979.50       59.47   29601212.32           7215.33\n",
       "std     17.27       12.92  106157896.74           9857.45\n",
       "min   1952.00       23.60      60011.00            241.17\n",
       "25%   1965.75       48.20    2793664.00           1202.06\n",
       "50%   1979.50       60.71    7023595.50           3531.85\n",
       "75%   1993.25       70.85   19585221.75           9325.46\n",
       "max   2007.00       82.60 1318683096.00         113523.13"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfGap.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25c1a5e2-d29f-4836-81b4-de7063000800",
   "metadata": {
    "tags": []
   },
   "source": [
    "### Mostrando um subconjunto de dfGap com as colunas Expec Vida, População, Renda Per Capita"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "45c75b9c-d6ca-42a1-a2e7-2b1f6c433814",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Expec Vida</th>\n",
       "      <th>População</th>\n",
       "      <th>Renda Per Capita</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>28.80</td>\n",
       "      <td>8425333</td>\n",
       "      <td>779.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>30.33</td>\n",
       "      <td>9240934</td>\n",
       "      <td>820.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>32.00</td>\n",
       "      <td>10267083</td>\n",
       "      <td>853.10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34.02</td>\n",
       "      <td>11537966</td>\n",
       "      <td>836.20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>36.09</td>\n",
       "      <td>13079460</td>\n",
       "      <td>739.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1699</th>\n",
       "      <td>62.35</td>\n",
       "      <td>9216418</td>\n",
       "      <td>706.16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1700</th>\n",
       "      <td>60.38</td>\n",
       "      <td>10704340</td>\n",
       "      <td>693.42</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1701</th>\n",
       "      <td>46.81</td>\n",
       "      <td>11404948</td>\n",
       "      <td>792.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1702</th>\n",
       "      <td>39.99</td>\n",
       "      <td>11926563</td>\n",
       "      <td>672.04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1703</th>\n",
       "      <td>43.49</td>\n",
       "      <td>12311143</td>\n",
       "      <td>469.71</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1704 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      Expec Vida  População  Renda Per Capita\n",
       "0          28.80    8425333            779.45\n",
       "1          30.33    9240934            820.85\n",
       "2          32.00   10267083            853.10\n",
       "3          34.02   11537966            836.20\n",
       "4          36.09   13079460            739.98\n",
       "...          ...        ...               ...\n",
       "1699       62.35    9216418            706.16\n",
       "1700       60.38   10704340            693.42\n",
       "1701       46.81   11404948            792.45\n",
       "1702       39.99   11926563            672.04\n",
       "1703       43.49   12311143            469.71\n",
       "\n",
       "[1704 rows x 3 columns]"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfGap.loc[:,['Expec Vida','População','Renda Per Capita']]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bcbd8da1-1424-4f85-9607-770189e33959",
   "metadata": {
    "jp-MarkdownHeadingCollapsed": true,
    "tags": []
   },
   "source": [
    "### Mostrando um resumo estatístico para as colunas Expec Vida, População, Renda Per Capita"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "bd48d74d-ef1c-4f2e-af5c-18f45a8867de",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Expec Vida</th>\n",
       "      <th>População</th>\n",
       "      <th>Renda Per Capita</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1704.00</td>\n",
       "      <td>1704.00</td>\n",
       "      <td>1704.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>59.47</td>\n",
       "      <td>29601212.32</td>\n",
       "      <td>7215.33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>12.92</td>\n",
       "      <td>106157896.74</td>\n",
       "      <td>9857.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>23.60</td>\n",
       "      <td>60011.00</td>\n",
       "      <td>241.17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>48.20</td>\n",
       "      <td>2793664.00</td>\n",
       "      <td>1202.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>60.71</td>\n",
       "      <td>7023595.50</td>\n",
       "      <td>3531.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>70.85</td>\n",
       "      <td>19585221.75</td>\n",
       "      <td>9325.46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>82.60</td>\n",
       "      <td>1318683096.00</td>\n",
       "      <td>113523.13</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Expec Vida     População  Renda Per Capita\n",
       "count     1704.00       1704.00           1704.00\n",
       "mean        59.47   29601212.32           7215.33\n",
       "std         12.92  106157896.74           9857.45\n",
       "min         23.60      60011.00            241.17\n",
       "25%         48.20    2793664.00           1202.06\n",
       "50%         60.71    7023595.50           3531.85\n",
       "75%         70.85   19585221.75           9325.46\n",
       "max         82.60 1318683096.00         113523.13"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dfGap.loc[:,['Expec Vida','População','Renda Per Capita']].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9bbdd527-d46e-4e4e-9fa1-46fa8e9960d8",
   "metadata": {},
   "source": [
    "### Retornando a precisão padrão"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "id": "898c8071-0fe7-4be1-a380-bdcdb706ed65",
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.reset_option('^display.',silent=True)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
