From 1ebf58d06ff7d4fc12784cfff0471fe2c0c1622b Mon Sep 17 00:00:00 2001 From: Taianne Date: Wed, 25 Oct 2023 20:09:50 -0300 Subject: [PATCH 1/2] exercicio para casa --- exercicios/para-casa/paracasa.ipynb | 809 ++++ .../para-casa}/titanic.csv | 0 material/aula_s12.ipynb | 3385 ++++++++++++++++- 3 files changed, 4134 insertions(+), 60 deletions(-) create mode 100644 exercicios/para-casa/paracasa.ipynb rename {material => exercicios/para-casa}/titanic.csv (100%) diff --git a/exercicios/para-casa/paracasa.ipynb b/exercicios/para-casa/paracasa.ipynb new file mode 100644 index 0000000..45156cf --- /dev/null +++ b/exercicios/para-casa/paracasa.ipynb @@ -0,0 +1,809 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Analise de Dados do Titanic*\n", + "\n", + " Temos um conjunto de de dados, com informações detalhadas sobre passageiros que estavam a bordo do navio Titanic.\n", + " Dados que contem informações sobre nome,idade,genero, classe da cabine e sobreviventes.\n", + " O próposito dessa analise é obter insights sobre os passageiros do navio o que nos permite ter informações relevantes, detalhadas e visualvelmente mais intuitivas.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
.......................................
88688702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"femaleNaN12W./C. 660723.4500NaNS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ
\n", + "

891 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + ".. ... ... ... \n", + "886 887 0 2 \n", + "887 888 1 1 \n", + "888 889 0 3 \n", + "889 890 1 1 \n", + "890 891 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + ".. ... ... ... ... \n", + "886 Montvila, Rev. Juozas male 27.0 0 \n", + "887 Graham, Miss. Margaret Edith female 19.0 0 \n", + "888 Johnston, Miss. Catherine Helen \"Carrie\" female NaN 1 \n", + "889 Behr, Mr. Karl Howell male 26.0 0 \n", + "890 Dooley, Mr. Patrick male 32.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n", + ".. ... ... ... ... ... \n", + "886 0 211536 13.0000 NaN S \n", + "887 0 112053 30.0000 B42 S \n", + "888 2 W./C. 6607 23.4500 NaN S \n", + "889 0 111369 30.0000 C148 C \n", + "890 0 370376 7.7500 NaN Q \n", + "\n", + "[891 rows x 12 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "df = pd.read_csv(\"titanic.csv\")\n", + "df" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['IdPassageiro',\n", + " 'Sobreviveu',\n", + " 'Classe',\n", + " 'Nome',\n", + " 'Sexo',\n", + " 'Idade',\n", + " 'NumeroIrmaos',\n", + " 'NumeroPais',\n", + " 'NumeroTicket',\n", + " 'PrecoTicket',\n", + " 'NumeroCabine',\n", + " 'PortoEmbarcacao']" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Traduzir as colunas, para que melhore o entedimento e a criação de novas definições\n", + "\n", + "# Resolução\n", + "\n", + "traducoes = {\n", + " 'PassengerId': 'IdPassageiro',\n", + " 'Survived': 'Sobreviveu', # 0 = Não, 1 = Sim\n", + " 'Pclass': 'Classe', # 1, 2, 3\n", + " 'Name': 'Nome',\n", + " 'Sex': 'Sexo',\n", + " 'Age': 'Idade',\n", + " 'SibSp': 'NumeroIrmaos',\n", + " 'Parch': 'NumeroPais',\n", + " 'Ticket': 'NumeroTicket',\n", + " 'Fare': 'PrecoTicket',\n", + " 'Cabin' : 'NumeroCabine',\n", + " 'Embarked': 'PortoEmbarcacao' # C = Cherbourg, Q = Queenstown, S = Southampton\n", + "}\n", + "\n", + "# result = [(d['color'], d['value']) for d in dictionarylist]\n", + "\n", + "novas_colunas = []\n", + "for chave, valor in traducoes.items():\n", + " novas_colunas.append(valor)\n", + "\n", + "novas_colunas " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "\n", + " Nome Sexo Idade \\\n", + "0 Braund, Mr. Owen Harris male 22.0 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "\n", + " NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "0 1 0 A/5 21171 7.2500 NaN \n", + "1 1 0 PC 17599 71.2833 C85 \n", + "\n", + " PortoEmbarcacao \n", + "0 S \n", + "1 C " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns = novas_colunas\n", + "df[:2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Função de processamento dos dados* - Essa função é importante para que seja feito um tratamento inicial em um DataFrame do Pandas com base no conjunto de dadosa ser tratado, no caso em tela iremos ultilizar o conjunto de dados do Navio Titanic." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# Criando a função de processamento dos dados\n", + "def processamento_df(df):\n", + " \n", + " # 3 primeiras linhas do df\n", + " df_3_linhas = df.head(3)\n", + " \n", + " # selecionando aleatoriamente 100 linhas do df\n", + " df_menor = df.sample(100)\n", + " \n", + " # removendo colunas com muitos dados nulos\n", + " df = df.drop(columns='Cabin')\n", + " \n", + " # ordenando por idade menor para o maior\n", + " df = df.sort_values(\"Age\")\n", + " \n", + " # removendo dados duplicados\n", + " df = df.drop_duplicates()\n", + " \n", + " # reset index\n", + " df = df.reset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Visualização e Insights atraves de gráficos* - Usaremos a biblioteca MATPLOPIT \n", + "\n", + "\n", + "*MATPLOPIT* - É uma biblioteca ultilizada em python muito usada na analise de dados, para criação de graficos e visualização de dados. Tornando-se mais visual e intuitivo.\n", + "- Para a analise em tela, ultilazamos a integração do *matplopit* com o *Jupyter Notebook*\n", + "- Como tambem a integração com o *Pandas*\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Grafico 1 - Distribuição de idade dos passageiros \n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Quantidade de Passageiros')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc8AAAK9CAYAAABCeud8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWaklEQVR4nO3dfXzNdePH8ffZZmdjsxlmW7aZuRm55yJ30UW5i5SQVEipkNxUUrm/NJdKpTuXq/srpRDdk9ymC8lNFOZubir3wxiG7fP7w7Xz69hoH505Z7yej8d5tPP5fs/3vM/3bL19z/fmOIwxRgAAIN/8vB0AAIDChvIEAMAS5QkAgCXKEwAAS5QnAACWKE8AACxRngAAWKI8AQCwRHkCAGCJ8rwCjRo1Sg6H47I8V/PmzdW8eXPX/UWLFsnhcGjGjBkee44dO3bI4XDonXfesX7sjBkzFB4ersaNG2vLli3q06ePXnzxRY9luxiHw6FRo0Zdluf6o7+yvi7kcv5OwTvO/1vGxVGePu6dd96Rw+Fw3YKCghQTE6NWrVpp0qRJOnbsmEee5/fff9eoUaO0du1ajyzPV0yYMEF9+vRRdHS0kpKS9Mknn6hjx47ejnVJypUrp5tvvtnbMa4YPXv2dPvbKl68uGrWrKnnn39emZmZ3o4HHxfg7QDInzFjxighIUFnzpzR3r17tWjRIg0cOFATJ07UZ599pho1arjmffrpp/XEE09YLf/333/X6NGjVa5cOdWqVSvfj/vmm2+snudSxMfH6+TJkypSpIj1Y6dPn65rrrlGAQEBOnDggEJDQxUUFFQAKVEYOZ1OvfHGG5KkI0eOaObMmXr00Ue1cuVKTZs2zcvpLq/L8bd8JaE8C4k2bdqoXr16rvvDhg3TggULdPPNN6tDhw7auHGjgoODJUkBAQEKCCjYt/bEiRMqWrSoAgMDC/R5JLm2uC9FfHy86+fSpUt7KhIKAWOMTp065fq7yEtAQIDuuusu1/2+ffuqQYMG+uijjzRx4kTFxMRcjqg+IT9/y6dOnVJgYKD8/PjQkjVQiP3973/X8OHDtXPnTr3//vuu8bz2T82bN09NmjRReHi4QkJCVLlyZT355JOSzu2n/Nvf/iZJ6tWrl+tjrJx9Zs2bN1e1atW0atUqXX/99SpatKjrsRfaT5KVlaUnn3xSUVFRKlasmDp06KDdu3e7zVOuXDn17Nkz12PPX+aF9uFt2rRJXbp0UenSpRUcHKzKlSvrqaeeck1PTU3VQw89pEqVKik4OFglS5ZU586dtWPHjlzPuX37dnXu3FkREREqWrSorrvuOn355Ze55stLZmamBg0apNKlSys0NFQdOnTQr7/+mue8v/32m+69916VKVNGTqdT1157rd566618PU9ejhw5op49eyosLEzh4eHq0aOHjhw5kmu+devWqWfPnipfvryCgoIUFRWle++9V4cOHco179KlS/W3v/1NQUFBSkxM1L/+9a8LPv/777+vunXrKjg4WBEREbrjjjtyvc95yfkdzXkPixcvrpIlS+qRRx7RqVOn3OY9e/asxo4dq8TERDmdTpUrV05PPvlkro9Wcz7Wnjt3rurVq6fg4OCLZs+Ln5+f63dvx44dSktL06OPPqrq1asrJCRExYsXV5s2bfTTTz/leuzLL7+sa6+9VkWLFlWJEiVUr149ffDBB67px44d08CBA1WuXDk5nU5FRkbqxhtv1OrVq13zfPfdd+rcubPi4uLkdDoVGxurQYMG6eTJk7meb/r06apataqCgoJUrVo1zZo1Sz179lS5cuXc5svOztaLL76oa6+9VkFBQSpTpoweeOABHT582G2+Cx2/MG3aND399NO65pprVLRoUaWnp7ueP+e9L1WqlO666y799ttvbsvcu3evevXqpbJly8rpdCo6Olq33HJLnn+DhQ1bnoXc3XffrSeffFLffPON7r///jzn+eWXX3TzzTerRo0aGjNmjJxOp7Zu3arvv/9eklSlShWNGTNGI0aMUJ8+fdS0aVNJUqNGjVzLOHTokNq0aaM77rhDd911l8qUKXPRXOPGjZPD4dDQoUO1f/9+vfjii2rZsqXWrl170S2B/Fq3bp2aNm2qIkWKqE+fPipXrpy2bdumzz//XOPGjZMkrVixQsuWLVO3bt1UtmxZpaamavLkyWrevLk2bNigokWLSpL27dunRo0a6cSJExowYIBKliypd999Vx06dNCMGTN06623XjTLfffdp/fff1933nmnGjVqpAULFqhdu3a55tu3b5+uu+46ORwO9e/fX6VLl9bXX3+t3r17Kz09XQMHDrRaB8YY3XLLLVq6dKkefPBBValSRbNmzVKPHj1yzTtv3jxt375dvXr1UlRUlH755RdNmTJFv/zyi5YvX+76x9b69et10003qXTp0ho1apTOnj2rkSNH5vl+jxs3TsOHD1eXLl1033336cCBA3r55Zd1/fXXa82aNQoPD//T19ClSxeVK1dOycnJWr58uSZNmqTDhw/rvffec81z33336d1339Xtt9+uIUOGaMWKFUpOTtbGjRs1a9Yst+WlpKSoW7dueuCBB3T//fercuXKVutUkrZt2yZJKlmypLZv367Zs2erc+fOSkhI0L59+/Svf/1LzZo104YNG1xbpv/+9781YMAA3X777a5/AKxbt04rVqzQnXfeKUl68MEHNWPGDPXv319Vq1bVoUOHtHTpUm3cuFF16tSRdK6QTpw4oYceekglS5bUDz/8oJdfflm//vqrpk+f7sr45ZdfqmvXrqpevbqSk5N1+PBh9e7dW9dcc02u1/PAAw/onXfeUa9evTRgwAClpqbqlVde0Zo1a/T999//6e6QsWPHKjAwUI8++qgyMzMVGBjoWt7f/vY3JScna9++fXrppZf0/fffu733nTp10i+//KKHH35Y5cqV0/79+zVv3jzt2rUrV8kXOgY+7e233zaSzMqVKy84T1hYmKldu7br/siRI80f39oXXnjBSDIHDhy44DJWrlxpJJm3334717RmzZoZSWby5Ml5TmvWrJnr/sKFC40kc80115j09HTX+Mcff2wkmZdeesk1Fh8fb3r06PGny0xNTc2V7frrrzehoaFm586dbo/Nzs52/XzixIlcy162bJmRZN577z3X2MCBA40k891337nGjh07ZhISEky5cuVMVlZWruXkWLt2rZFk+vbt6zZ+5513Gklm5MiRrrHevXub6Ohoc/DgQbd577jjDhMWFpZn3j+Kj4837dq1c92fPXu2kWQmTJjgGjt79qxp2rRprvWV17I//PBDI8ksWbLENdaxY0cTFBTktl43bNhg/P393X6nduzYYfz9/c24cePclrl+/XoTEBCQa/x8Ob+jHTp0cBvv27evkWR++uknY8z/r9/77rvPbb5HH33USDILFixwWz+SzJw5cy763Dl69OhhihUrZg4cOGAOHDhgtm7dap555hnjcDhMjRo1jDHGnDp1Ktf7n5qaapxOpxkzZoxr7JZbbjHXXnvtRZ8vLCzM9OvX76Lz5PU+JScnG4fD4faeVK9e3ZQtW9YcO3bMNbZo0SIjycTHx7vGvvvuOyPJTJ061W2Zc+bMyTV+ob/l8uXLu+U6ffq0iYyMNNWqVTMnT550jX/xxRdGkhkxYoQxxpjDhw8bSebZZ5+96GsurPjY9goQEhJy0aNuc/4V+Omnnyo7O/uSnsPpdKpXr175nv+ee+5RaGio6/7tt9+u6OhoffXVV5f0/H904MABLVmyRPfee6/i4uLcpv3x4+o/buGeOXNGhw4dUoUKFRQeHu72UdlXX32l+vXrq0mTJq6xkJAQ9enTRzt27NCGDRsumCXn9QwYMMBt/PytSGOMZs6cqfbt28sYo4MHD7purVq10tGjR90y5cdXX32lgIAAPfTQQ64xf39/Pfzww7nm/eO6OHXqlA4ePKjrrrtOklzPm5WVpblz56pjx45u67VKlSpq1aqV2/I++eQTZWdnq0uXLm6vJSoqShUrVtTChQvz9Rr69evndj8ne856zfnv4MGD3eYbMmSIJOX6aD0hISFX1ovJyMhQ6dKlVbp0aVWoUEFPPvmkGjZs6NqidTqdrv17WVlZOnTokGu3xx/fr/DwcP36669auXLlBZ8rPDxcK1as0O+//37Bef74PmVkZOjgwYNq1KiRjDFas2aNpHMH961fv1733HOPQkJCXPM3a9ZM1atXd1ve9OnTFRYWphtvvNHtfapbt65CQkLy9T716NHDLdePP/6o/fv3q2/fvm7HIrRr105JSUmu9yQ4OFiBgYFatGhRro+IrwSU5xXg+PHjbkV1vq5du6px48a67777VKZMGd1xxx36+OOPrYr0mmuusTo4qGLFim73HQ6HKlSo4JF9Hdu3b5ckVatW7aLznTx5UiNGjFBsbKycTqdKlSql0qVL68iRIzp69Khrvp07d+b58V6VKlVc0y9k586d8vPzU2Jiotv4+cs7cOCAjhw5oilTprj+Z51zy/lHyf79+y/6evJ67ujoaLf/geb13JKUlpamRx55RGXKlFFwcLBKly6thIQESXKtiwMHDujkyZO53ru8lrllyxYZY1SxYsVcr2fjxo35fi3nP1diYqL8/Pxcvyc567dChQpu80VFRSk8PDzXe5PzmvIrKChI8+bN07x587RkyRLt3r1b33//vcqXLy/p3P7CF154QRUrVnT7HVq3bp3b79DQoUMVEhKi+vXrq2LFiurXr59rt0iOCRMm6Oeff1ZsbKzq16+vUaNGuX6Xc+zatUs9e/ZURESEQkJCVLp0aTVr1kzS/79POa/5/HWS19iWLVt09OhRRUZG5nqfjh8/nq/36fx1mvP8ef2eJSUluaY7nU7985//1Ndff60yZcro+uuv14QJE7R3794/fc7CgH2ehdyvv/6qo0eP5vmHlCM4OFhLlizRwoUL9eWXX2rOnDn66KOP9Pe//13ffPON/P39//R5PLGf8nwXOuk+KysrX5n+zMMPP6y3335bAwcOVMOGDRUWFiaHw6E77rjjkrfAL1XO891111157pOU5Ha6kad16dJF//3vf/XYY4+pVq1aCgkJUXZ2tlq3bn1J6yI7O1sOh0Nff/11nu/V+YWeXxf6ncjvBRpsf0/9/f3VsmXLC05/5plnNHz4cN17770aO3asIiIi5Ofnp4EDB7qttypVqiglJUVffPGF5syZo5kzZ+q1117TiBEjNHr0aEnn3oOmTZtq1qxZ+uabb/Tss8/qn//8pz755BO1adNGWVlZuvHGG5WWlqahQ4cqKSlJxYoV02+//aaePXte8vsUGRmpqVOn5jk9P0eg/5W//YEDB6p9+/aaPXu25s6dq+HDhys5OVkLFixQ7dq1L3m5voDyLOT+85//SNKfflTl5+enFi1aqEWLFpo4caKeeeYZPfXUU1q4cKFatmzp8avHbNmyxe2+MUZbt251K4gSJUrkeWTozp07Xf/yz0vOtJ9//vmiGWbMmKEePXro+eefd42dOnUq13PGx8crJSUl1+M3bdrkmn4h8fHxys7O1rZt29z+JX7+8nKOxM3Kyrro/6xtxMfHa/78+Tp+/LhbWZ3/3IcPH9b8+fM1evRojRgxwjV+/nuUc9Ty+eN5LTMxMVHGGCUkJKhSpUqX/Bq2bNnitmWzdetWZWdnuw4myVm/W7ZscX0SIJ07+OrIkSMXfW88YcaMGbrhhhv05ptvuo0fOXJEpUqVchsrVqyYunbtqq5du+r06dO67bbbNG7cOA0bNsz18WZ0dLT69u2rvn37av/+/apTp47GjRunNm3aaP369dq8ebPeffdd3XPPPa7lzps3z+15cl7z1q1bc+U9fywxMVHffvutGjdu7LF/AOc8f0pKiv7+97+7TUtJScn1niQmJmrIkCEaMmSItmzZolq1aun55593O0OgMOJj20JswYIFGjt2rBISEtS9e/cLzpeWlpZrLOdCCDmH+xcrVkyS8iyzS/Hee++57YedMWOG9uzZozZt2rjGEhMTtXz5cp0+fdo19sUXX/zpqQ6lS5fW9ddfr7feeku7du1ym2aMcf3s7+/vdl86dzpBVlaW21jbtm31ww8/aNmyZa6xjIwMTZkyReXKlVPVqlUvmCXn9UyaNMlt/PxLAPr7+6tTp06aOXNmnqV/4MCBCz7HhbRt21Znz57V66+/7hrLysrSyy+/nOu5JeVaF3llbNWqlWbPnu22Xjdu3Ki5c+e6zXvbbbfJ399fo0ePzrVcY0yep8Dk5dVXX3W7n5M9Z722bds2z6wTJ06UpDyPavakvH6Hpk+fnuuUjPNfb2BgoKpWrSpjjM6cOaOsrCy3j3klKTIyUjExMa6/wbzeJ2OMXnrpJbfHxcTEqFq1anrvvfd0/Phx1/jixYu1fv16t3m7dOmirKwsjR07NtdrO3v27CX9vderV0+RkZGaPHmy2+lCX3/9tTZu3Oh6T06cOJHrtKPExESFhoZeEVdwYsuzkPj666+1adMmnT17Vvv27dOCBQs0b948xcfH67PPPrvoRQTGjBmjJUuWqF27doqPj9f+/fv12muvqWzZsq6DZBITExUeHq7JkycrNDRUxYoVU4MGDaz3IeWIiIhQkyZN1KtXL+3bt08vvviiKlSo4HY6zX333acZM2aodevW6tKli7Zt26b3338/1/7DvEyaNElNmjRRnTp11KdPHyUkJGjHjh368ssvXZcYvPnmm/Wf//xHYWFhqlq1qpYtW6Zvv/1WJUuWdFvWE088oQ8//FBt2rTRgAEDFBERoXfffVepqamaOXPmRU8Ir1Wrlrp166bXXntNR48eVaNGjTR//vw8twrGjx+vhQsXqkGDBrr//vtVtWpVpaWlafXq1fr222/z/EfOxbRv316NGzfWE088oR07dqhq1ar65JNPcv1Punjx4q79TWfOnNE111yjb775RqmpqbmWOXr0aM2ZM0dNmzZV3759dfbsWdf5i+vWrXPNl5iYqH/84x8aNmyYduzYoY4dOyo0NFSpqamaNWuW+vTpo0cfffRPX0Nqaqo6dOig1q1ba9myZa5TfmrWrClJqlmzpnr06KEpU6boyJEjatasmX744Qe9++676tixo2644QardWbr5ptv1pgxY9SrVy81atRI69ev19SpU3N9MnLTTTcpKipKjRs3VpkyZbRx40a98sorateunUJDQ3XkyBGVLVtWt99+u2rWrKmQkBB9++23WrlypeuTkaSkJCUmJurRRx/Vb7/9puLFi2vmzJl5HmzzzDPP6JZbblHjxo3Vq1cvHT58WK+88oqqVavmVqjNmjXTAw88oOTkZK1du1Y33XSTihQpoi1btmj69Ol66aWXdPvtt1utkyJFiuif//ynevXqpWbNmqlbt26uU1XKlSunQYMGSZI2b96sFi1aqEuXLqpataoCAgI0a9Ys7du3T3fccYftW+F7vHCELyzknKqScwsMDDRRUVHmxhtvNC+99JLb6SA5zj9VZf78+eaWW24xMTExJjAw0MTExJhu3bqZzZs3uz3u008/NVWrVjUBAQFupzo0a9bsgofhX+jw9g8//NAMGzbMREZGmuDgYNOuXbtcp5UYY8zzzz9vrrnmGuN0Ok3jxo3Njz/+mK9TVYwx5ueffza33nqrKV68uJFkKleubIYPH+6afvjwYdOrVy9TqlQpExISYlq1amU2bdqU5yky27ZtM7fffrsJDw83QUFBpn79+uaLL77I8zWf7+TJk2bAgAGmZMmSplixYqZ9+/Zm9+7duU5VMcaYffv2mX79+pnY2FhTpEgRExUVZVq0aGGmTJnyp89z/qkqxhhz6NAhc/fdd5vixYubsLAwc/fdd5s1a9bkWl+//vqrufXWW014eLgJCwsznTt3Nr///nueGRcvXmzq1q1rAgMDTfny5c3kyZNz/U7lmDlzpmnSpIkpVqyYKVasmElKSjL9+vUzKSkpF30tOcvbsGGDuf32201oaKgpUaKE6d+/v9vpD8YYc+bMGTN69GiTkJBgihQpYmJjY82wYcPMqVOn/nT9XEzOqSoXc+rUKTNkyBATHR1tgoODTePGjc2yZcty/Y7+61//Mtdff70pWbKkcTqdJjEx0Tz22GPm6NGjxhhjMjMzzWOPPWZq1qxpQkNDTbFixUzNmjXNa6+95vZ8GzZsMC1btjQhISGmVKlS5v777zc//fRTnr//06ZNM0lJScbpdJpq1aqZzz77zHTq1MkkJSXleh1TpkwxdevWNcHBwSY0NNRUr17dPP744+b33393zXOhv+Xp06fnuW4++ugjU7t2beN0Ok1ERITp3r27+fXXX13TDx48aPr162eSkpJMsWLFTFhYmGnQoIH5+OOPL7rOCwuHMed9JgEUQi1b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KSnatWuXT63v7OxsZWZm+lzeFi1aaP369Vq7dq3rVq9ePXXv3t31sy/lzcvx48e1bds2RUdH+9z6laTGjRvnOr1q8+bNio+Pl+Sbf3c53n77bUVGRqpdu3auMV9cxydOnJCfn3tt+fv7Kzs7W9JlXscePfzoKjNt2jTjdDrNO++8YzZs2GD69OljwsPDzd69e70dzRw7dsysWbPGrFmzxkgyEydONGvWrDE7d+40xpw7nDs8PNx8+umnZt26deaWW27x6iHzDz30kAkLCzOLFi1yO3T+xIkTrnkefPBBExcXZxYsWGB+/PFH07BhQ9OwYUOv5DXGmCeeeMIsXrzYpKammnXr1pknnnjCOBwO88033/hk3vP98WhbY3wv75AhQ8yiRYtMamqq+f77703Lli1NqVKlzP79+30y7w8//GACAgLMuHHjzJYtW8zUqVNN0aJFzfvvv++ax9f+7ow5d5ZAXFycGTp0aK5pvraOe/ToYa655hrXqSqffPKJKVWqlHn88cdd81yudUx5/kUvv/yyiYuLM4GBgaZ+/fpm+fLl3o5kjDFm4cKFRlKuW48ePYwx5w7pHj58uClTpoxxOp2mRYsWJiUlxWt588oqybz99tuueU6ePGn69u1rSpQoYYoWLWpuvfVWs2fPHq9lvvfee018fLwJDAw0pUuXNi1atHAVpy/mPd/55elrebt27Wqio6NNYGCgueaaa0zXrl3dzpn0tbzGGPP555+batWqGafTaZKSksyUKVPcpvva350xxsydO9dIyjOHr63j9PR088gjj5i4uDgTFBRkypcvb5566imTmZnpmudyrWO+kgwAAEvs8wQAwBLlCQCAJcoTAABLlCcAAJYoTwAALFGeAABYojwBALBEeQIAYInyBK5wzZs318CBA//SMhYtWiSHw5HrIuHA1YryBAq5nj17qmPHjt6OAVxVKE8AACxRnsAVJCMjQ/fcc49CQkIUHR2t559/Ptc8//nPf1SvXj2FhoYqKipKd955p/bv3+82z1dffaVKlSopODhYN9xwg3bs2JFrOUuXLlXTpk0VHBys2NhYDRgwQBkZGQX10gCfQnkCV5DHHntMixcv1qeffqpvvvlGixYt0urVq93mOXPmjMaOHauffvpJs2fP1o4dO9SzZ0/X9N27d+u2225T+/bttXbtWt1333164okn3Jaxbds2tW7dWp06ddK6dev00UcfaenSperfv//leJmA93n8e1oAXFY9evQwt9xyizl27JgJDAw0H3/8sWvaoUOHTHBwsNtXj51v5cqVRpI5duyYMcaYYcOGmapVq7rNM3ToUCPJHD582BhjTO/evU2fPn3c5vnuu++Mn5+fV7+bErhc2PIErhDbtm3T6dOn1aBBA9dYRESEKleu7DbfqlWr1L59e8XFxSk0NFTNmjWTJO3atUuStHHjRrdlSFLDhg3d7v/000965513FBIS4rq1atVK2dnZSk1NLYiXB/iUAG8HAHD5ZGRkqFWrVmrVqpWmTp2q0qVLa9euXWrVqpVOnz6d7+UcP35cDzzwgAYMGJBrWlxcnCcjAz6J8gSuEImJiSpSpIhWrFjhKrDDhw9r8+bNrq3LTZs26dChQxo/frxiY2MlST/++KPbcqpUqaLPPvvMbWz58uVu9+vUqaMNGzaoQoUKBfVyAJ/Gx7bAFSIkJES9e/fWY489pgULFujnn39Wz5495ef3/3/mcXFxCgwM1Msvv6zt27frs88+09ixY92W8+CDD2rLli167LHHlJKSog8++EDvvPOO2zxDhw7Vf//7X/Xv319r167Vli1b9Omnn3LAEK4alCdwBXn22WfVtGlTtW/fXi1btlSTJk1Ut25d1/TSpUvrnXfe0fTp01W1alWNHz9ezz33nNsy4uLiNHPmTM2ePVs1a9bU5MmT9cwzz7jNU6NGDS1evFibN29W06ZNVbt2bY0YMUIxMTGX5XUC3uYwxhhvhwAAoDBhyxMAAEuUJwAAlihPAAAsUZ4AAFiiPAEAsER5AgBgifIEAMAS5QkAgCXKEwAAS5QnAACWKE8AACz9H6iBTJFM32WnAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(5,8))\n", + "plt.hist(df['Idade'].dropna(), bins=10, color='red', edgecolor= 'yellow')\n", + "plt.title('Distribuição de Idade por Passageiros')\n", + "plt.xlabel('Idade')\n", + "plt.ylabel('Quantidade de Passageiros')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- De acordo com analise apresentada pelo o grafico. Conclui-se que a idade da maioria dos passageiros era entre 20 e 30 anos " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Grafico 2- Taxa de Sobrevivencia por Classe na Cabine \n", + "- De inicio é necessario agrupar os dados por classe de cada cabine\n", + "- Calcular a taxa de sobrivência" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAIkCAYAAAANhKPgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQL0lEQVR4nO3deVxU9f7H8feAsqmgpoAiibvhLi6RqakYLZe0RdEWlcy65hq5RN5UXCLNTCvLpdSy/GmLppUXLVJb3DXMfcutTNJMUDRQ+P7+6MFcRxYZA8djr+fjMY+c7/mecz5nmBneHb7ne2zGGCMAAADAgtxcXQAAAABwtQizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCgBPWr1+vMWPG6OzZs64uBQAgwixgSb169VJISIiryyiQzWZT//79XV2GgzvuuEN33HHHVa9/9uxZRUdHa/78+Ro+fHjRFZaPuXPnymaz6dChQ8W+r+vRoUOHZLPZNHfuXFeXUqRGjx4tm83m6jKuKCQkRP/617+u2G/VqlWy2WxatWpV8RcF5IEwi38Um81WqMc/8Uv5u+++0913362goCB5eXnp5ptvVlRUlObPn+/q0q4bQ4cOVfv27fX999/rs88+0+rVq11dkmWtWrVKDzzwgAIDA+Xh4SF/f39FRUVp0aJFri7Nsg4cOKCnnnpK1atXl5eXl3x9fdWqVStNnTpV58+fd3V5QLEp4eoCgGtp3rx5Ds/fe+89ffnll7nab7nllmtZlst99NFHio6OVuPGjTVo0CCVK1dOBw8e1DfffKNZs2bp4YcfdnWJRWLFihVXve7Zs2cVFBSk2NhY+fj4aNGiRdq5c2cRVpfbY489pm7dusnT07NY93OtjRo1SmPGjFGtWrX01FNPqWrVqvr999+1bNkyPfjgg/rggw9umPfctfLFF1+oS5cu8vT0VI8ePVS/fn1lZmbqu+++09ChQ7Vjxw7NnDmzWPbdpk0bnT9/Xh4eHsWyfeBKCLP4R3n00Ucdnq9bt05ffvllrvZ/mtGjRys0NFTr1q3L9Qvpt99+u+b1pKenq1SpUkW+3b/zy7Z06dL6z3/+Y3/erFkzNWvWrCjKype7u7vc3d2LdR9FzRijP//8U97e3nku//jjjzVmzBg99NBDmj9/vkqWLGlfNnToUC1fvlwXLly4VuXeEA4ePKhu3bqpatWq+vrrr1WpUiX7sn79+mn//v364osvim3/bm5u8vLyKrbtA1fCMAPgMnPmzFH79u3l7+8vT09PhYaG6q233nLo8/XXX8vNzU0jR450aJ8/f75sNptD/8JsryCffvqp6tevLy8vL9WvX1+LFy/Os192dramTJmievXqycvLSwEBAXrqqaf0xx9/XHEfBw4cUPPmzfMMe/7+/g7P09PT9eyzzyo4OFienp6qU6eOJk2aJGNMntv+4IMPVKdOHXl5eSksLEzffPONw/Kc8YM7d+7Uww8/rHLlyun222+3L3///fcVFhYmb29vlS9fXt26ddPRo0fty/v376/SpUvr3LlzufbdvXt3BQYGKisrS5LjmNmUlBSVKFFC8fHxudbbs2ePbDab3njjDXvb6dOnNXjwYPtx16xZUxMmTFB2dra9T84Yz0mTJmnmzJmqUaOGPD091bx5c23cuDHXfnbv3q2uXbuqYsWK8vb2Vp06dTRixAj78rzGzC5ZskT33nuvKleuLE9PT9WoUUNjx461H2NBcl7rnP36+vrqpptu0qBBg/Tnn3869L148aLGjh1rP4aQkBA9//zzysjIcOiXM65y+fLlatasmby9vTVjxox8a3jhhRdUvnx5zZ492yHI5oiMjCxwnOaPP/6oXr162f+UHhgYqMcff1y///67Q78zZ85o8ODBCgkJkaenp/z9/dWxY0dt2bLF3mffvn168MEHFRgYKC8vL1WpUkXdunVTamqqw7au9B4syHfffafmzZvLy8tLNWrUKPC1udr9TJw4UWfPntU777zjEGRz1KxZU4MGDbI/d/Y7acWKFWrcuLG8vLwUGhqaayhIXmNm77jjDtWvX187d+5Uu3bt5OPjo6CgIE2cODHX9jMyMjRq1CjVrFlTnp6eCg4O1rBhw3K914B8GeAfrF+/fubyj0Hz5s1Nr169zKuvvmpef/11c+eddxpJ5o033si1bokSJczmzZuNMcYcO3bMlC9f3kRERJjs7Gynt5eX5cuXGzc3N1O/fn0zefJkM2LECOPn52fq1atnqlat6tD3iSeeMCVKlDB9+vQx06dPN8OHDzelSpUyzZs3N5mZmQXup3bt2iY4ONgcPXq0wH7Z2dmmffv2xmazmSeeeMK88cYbJioqykgygwcPdugrydSvX99UqFDBjBkzxkyYMMFUrVrVeHt7m23bttn7jRo1ykgyoaGhplOnTubNN98006ZNM8YYM27cOGOz2Ux0dLR58803TXx8vKlQoYIJCQkxf/zxhzHGmG+++cZIMh9++KHD/tPT002pUqVMv3797G1t27Y1bdu2tT9v3769CQ0NzXWc8fHxxt3d3Rw/fty+rYYNG5qbbrrJPP/882b69OmmR48exmazmUGDBtnXO3jwoJFkmjRpYmrWrGkmTJhgJk6caCpUqGCqVKni8HPYunWr8fX1NTfddJOJi4szM2bMMMOGDTMNGjSw95kzZ46RZA4ePGhv69y5s+natat5+eWXzVtvvWW6dOliJJkhQ4YU+LO79LVu0KCBiYqKMm+88YZ59NFHjSTz2GOPOfTt2bOnkWQeeughM23aNNOjRw8jyXTu3NmhX9WqVU3NmjVNuXLlzHPPPWemT59uVq5cmef+9+7daySZxx9//Iq1GvO/13POnDn2tkmTJpnWrVubMWPGmJkzZ5pBgwYZb29v06JFC4fP3cMPP2w8PDxMbGysefvtt82ECRNMVFSUef/9940xxmRkZJhq1aqZypUrm3Hjxpm3337bxMfHm+bNm5tDhw7Zt1OY92B+fvzxR+Pt7W1uvvlmk5CQYMaOHWsCAgJMw4YNc33v/J39BAUFmerVqxfqNTWm8N9JVatWNbVr1zZly5Y1zz33nJk8ebJp0KCBcXNzMytWrLD3W7lypZHk8HNv27atqVy5sgkODjaDBg0yb775pmnfvr2RZJYtW2bvl5WVZe68807j4+NjBg8ebGbMmGH69+9vSpQoYTp16lToY8I/G2EW/2h5hdlz587l6hcZGZnrl0V6erqpWbOmqVevnvnzzz/Nvffea3x9fc3hw4evant5ady4salUqZI5ffq0vW3FihVGkkOY/fbbb40k88EHHzisn5iYmGf75d555x0jyXh4eJh27dqZF154wXz77bcmKyvLod+nn35qJJlx48Y5tD/00EPGZrOZ/fv329skGUlm06ZN9rbDhw8bLy8vc//999vbcgJW9+7dHbZ56NAh4+7ubsaPH+/Qvm3bNlOiRAl7e3Z2tgkKCjIPPvigQ78PP/zQSDLffPONve3yMDtjxgwjySFcG2NMaGioad++vf352LFjTalSpczevXsd+j333HPG3d3dHDlyxBjzv/B10003mVOnTtn7LVmyxEgyn332mb2tTZs2pkyZMrneL5cGsrzCbF7vp6eeesr4+PiYP//8M9eyS+W81vfdd59D+9NPP20kma1btxpjjElOTjaSzBNPPOHQb8iQIUaS+frrr+1tVatWNZJMYmJigfs25n+vw6uvvnrFvsbkHWbzOv7/+7//y/Wz9vPzc/gfmcv98MMPRpL56KOP8u1T2Pdgfjp37my8vLwcfsY7d+407u7uDt87f2c/qampRpJTwa+w30k5P9tPPvnEYX+VKlUyTZo0sbflF2Ylmffee8/elpGRYQIDAx0+q/PmzTNubm7m22+/ddj39OnTjSTz/fffF/q48M/FMAPgMpeO9UtNTdXJkyfVtm1b/fTTTw5/fvTx8dHcuXO1a9cutWnTRl988YVeffVV3XzzzVe1vcv9+uuvSk5OVs+ePeXn52dv79ixo0JDQx36fvTRR/Lz81PHjh118uRJ+yMsLEylS5fWypUrCzzmxx9/XImJibrjjjv03XffaezYsWrdurVq1aqlNWvW2PstW7ZM7u7uGjhwoMP6zz77rIwx+u9//+vQHh4errCwMPvzm2++WZ06ddLy5ctz/Vn83//+t8PzRYsWKTs7W127dnU4psDAQNWqVct+TDabTV26dNGyZcsc5n5duHChgoKCHIYsXO6BBx5QiRIltHDhQnvb9u3btXPnTkVHR9vbPvroI7Vu3VrlypVzqCUiIkJZWVm5hk5ER0erXLly9uetW7eWJP3000+SpBMnTuibb77R448/nuv9cqUpmy59P505c0YnT55U69atde7cOe3evbvAdXP069fP4fmAAQMk/fXzvfS/sbGxDv2effZZSco1/rJatWqKjIy84n7T0tIkSWXKlClUnXm59Pj//PNPnTx5UrfeeqskOQwhKFu2rNavX69jx47luZ2cz9Ty5cvzHKIiFf49mJesrCwtX75cnTt3dvgZ33LLLbleq7+zn6t5TZ35TqpcubLuv/9++3NfX1/16NFDP/zwg44fP17gfkqXLu1wPYKHh4datGhh/xxIf322brnlFtWtW9fh2Nu3by9JV/zuAiTGzAK5fP/994qIiFCpUqVUtmxZVaxYUc8//7wk5fqib9Wqlfr27asNGzYoMjJSjz/++N/a3qUOHz4sSapVq1auZXXq1HF4vm/fPqWmpsrf318VK1Z0eJw9e7ZQF3FFRkZq+fLlOn36tL755hv169dPhw8f1r/+9S/7+ocPH1blypVz/eLMmf0hp+YcedVeu3ZtnTt3TidOnHBor1atWq5jMsaoVq1auY5p165dDscUHR2t8+fPa+nSpZL+mnlg2bJl6tKlS4HhsEKFCurQoYM+/PBDe9vChQtVokQJPfDAAw61JCYm5qojIiJCUu6L5C4PqDnBNmf8cs4v8/r16+dbW3527Nih+++/X35+fvL19VXFihXtgaGg99OlLv+51KhRQ25ubvaxuYcPH5abm5tq1qzp0C8wMFBly5bN9XO+/GeXH19fX0l/hfCrderUKQ0aNEgBAQHy9vZWxYoV7fu/9PgnTpyo7du3Kzg4WC1atNDo0aMdQlS1atUUGxurt99+WxUqVFBkZKSmTZvmsA1n3oOXO3HihM6fP1/oz+/V7udqXlNnvpNq1qyZ6zNUu3ZtSbri/MdVqlTJtW65cuUcxvHv27dPO3bsyHXcOftwxQWosB5mMwAuceDAAXXo0EF169bV5MmTFRwcLA8PDy1btkyvvvqqw8U+0l8XLuRc9HDgwAGdO3dOPj4+V729q5WdnS1/f3998MEHeS6vWLFiobfl4+Oj1q1bq3Xr1qpQoYLi4+P13//+Vz179iySWvNz+dXv2dnZstls+u9//5vnFf2lS5e2//vWW29VSEiIPvzwQz388MP67LPPdP78eYezq/np1q2bYmJilJycrMaNG+vDDz9Uhw4dVKFCBYdaOnbsqGHDhuW5jZxfvDnym4HA5HORXGGdPn1abdu2la+vr8aMGaMaNWrIy8tLW7Zs0fDhw6/6/ZRf4C/sxP75zVxwubp160qStm3bVrjC8tC1a1etWbNGQ4cOVePGjVW6dGllZ2frrrvucjj+rl27qnXr1lq8eLFWrFihl19+WRMmTNCiRYt09913S5JeeeUV9erVS0uWLNGKFSs0cOBAJSQkaN26dapSpYpT78G/4+/sx9fXV5UrV9b27dsLta9r9Z0kFe5zkJ2drQYNGmjy5Ml59g0ODi6yenDjIswCl/jss8+UkZGhpUuXOpxdy+9PXaNGjdKuXbs0adIkDR8+XM8995xee+21q97epapWrSrprzMXl9uzZ4/D8xo1auirr75Sq1atCh0sCiNn6qlff/3VXtNXX32lM2fOOJydzfnzdk7NOfKqfe/evfLx8bliwK5Ro4aMMapWrVqusJiXrl27aurUqUpLS9PChQsVEhJi//NzQTp37qynnnrKPtRg7969iouLy1XL2bNn7Wdi/67q1atLUqEDSI5Vq1bp999/16JFi9SmTRt7+8GDB53azr59+xzOpu7fv1/Z2dn2u8pVrVpV2dnZ2rdvn8OcyykpKTp9+nSun3Nh1a5dW3Xq1NGSJUs0depUp8PgH3/8oaSkJMXHxzvMJJLX+0ySKlWqpKefflpPP/20fvvtNzVt2lTjx4+3h1lJatCggRo0aKD//Oc/WrNmjVq1aqXp06dr3LhxTr8HL5UzQ0VhP79Xux9J+te//qWZM2dq7dq1Cg8PL7Cvs99J+/fvlzHG4X9s9u7dK0lFchfCGjVqaOvWrerQoYMl7oqG6xPDDIBL5JxJuPTMQWpqqubMmZOr7/r16zVp0iQNHjxYzz77rIYOHao33njD4a5QzmzvcpUqVVLjxo317rvvOvzp78svv8w1WX/Xrl2VlZWlsWPH5trOxYsXdfr06QL3lZSUlGd7ztjJnD+L3nPPPcrKynKYskqSXn31VdlsNoeQIElr1651GMd49OhRLVmyRHfeeecV50994IEH5O7urvj4+FxnNI0xuaZiio6OVkZGht59910lJiaqa9euBW4/R9myZRUZGakPP/xQCxYskIeHhzp37uzQp2vXrlq7dq2WL1+ea/3Tp0/r4sWLhdpXjooVK6pNmzaaPXu2jhw5kuvY8pPX+ykzM1NvvvmmU/ufNm2aw/PXX39dkuw/v3vuuUeSNGXKFId+OWfP7r33Xqf2d6n4+Hj9/vvveuKJJ/J83VasWKHPP/88z3XzOv686szKysr153J/f39VrlzZPt1TWlparv03aNBAbm5u9j7OvgcvrzUyMlKffvqpw894165dud5Hf2c/kjRs2DCVKlVKTzzxhFJSUnItP3DggKZOnWqvK2e7OQr6Tjp27JjDdIBpaWl677331LhxYwUGBhZYV2F07dpVv/zyi2bNmpVr2fnz55Wenv6394EbH2dmgUvceeed8vDwUFRUlJ566imdPXtWs2bNkr+/v/3spPTXhSc9e/ZUrVq1NH78eEl//ZL+7LPPFBMTo23btqlUqVKF3l5+EhISdO+99+r222/X448/rlOnTun1119XvXr1HC52atu2rZ566iklJCQoOTlZd955p0qW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rpYtW2rKlCmKjIzUnj175O/vn6t/ZmamOnbsKH9/f3388ccKCgrS4cOHVbZs2WtfPAAAAFzOpWF28uTJ6tOnj2JiYiRJ06dP1xdffKHZs2frueeey9V/9uzZOnXqlNasWaOSJUtKkkJCQq5lyQAAALiOuGyYQWZmpjZv3qyIiIj/FePmpoiICK1duzbPdZYuXarw8HD169dPAQEBql+/vl588UVlZWXlu5+MjAylpaU5PAAAAHBjcFmYPXnypLKyshQQEODQHhAQoOPHj+e5zk8//aSPP/5YWVlZWrZsmV544QW98sorGjduXL77SUhIkJ+fn/0RHBxcpMcBAAAA13H5BWDOyM7Olr+/v2bOnKmwsDBFR0drxIgRmj59er7rxMXFKTU11f44evToNawYAAAAxcllY2YrVKggd3d3paSkOLSnpKQoMDAwz3UqVaqkkiVLyt3d3d52yy236Pjx48rMzJSHh0eudTw9PeXp6Vm0xQMAAOC64LIzsx4eHgoLC1NSUpK9LTs7W0lJSQoPD89znVatWmn//v3Kzs62t+3du1eVKlXKM8gCAADgxubSYQaxsbGaNWuW3n33Xe3atUt9+/ZVenq6fXaDHj16KC4uzt6/b9++OnXqlAYNGqS9e/fqiy++0Isvvqh+/fq56hAAAADgQi6dmis6OlonTpzQyJEjdfz4cTVu3FiJiYn2i8KOHDkiN7f/5e3g4GAtX75czzzzjBo2bKigoCANGjRIw4cPd9UhAAAAwIVsxhjj6iKupbS0NPn5+Sk1NVW+vr6uLqdI2OJtri4B+TCj/lEfLwAAioQzec1SsxkAAAAAlyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAAwLIIswAAALAswiwAAAAsizALAAAAyyLMAgAA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9PSUr6+vwwMAAAA3BpeNmZWk2NhY9ezZU82aNVOLFi00ZcoUpaenKyYmRpLUo0cPBQUFKSEhQdJfF43t3LnT/u9ffvlFycnJKl26tGrWrOmy4wAAAIBruDTMRkdH68SJExo5cqSOHz+uxo0bKzEx0X5R2JEjR+Tm9r+Tx8eOHVOTJk3szydNmqRJkyapbdu2WrVq1bUuHwAAAC7m0jArSf3791f//v3zXHZ5QA0JCZEx5hpUBQAAACu44WczAAAAwI2LMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsgizAAAAsCzCLAAAACyLMAsAAADLIswCAADAsq6LMDtt2jSFhITIy8tLLVu21IYNGwrs/9FHH6lu3bry8vJSgwYNtGzZsmtUKQAAAK4nLg+zCxcuVGxsrEaNGqUtW7aoUaNGioyM1G+//ZZn/zVr1qh79+7q3bu3fvjhB3Xu3FmdO3fW9u3br3HlAAAAcDWXh9nJkyerT58+iomJUWhoqKZPny4fHx/Nnj07z/5Tp07VXXfdpaFDh+qWW27R2LFj1bRpU73xxhvXuHIAAAC4mkvDbGZmpjZv3qyIiAh7m5ubmyIiIrR27do811m7dq1Df0mKjIzMtz8AAABuXCVcufOTJ08qKytLAQEBDu0BAQHavXt3nuscP348z/7Hjx/Ps39GRoYyMjLsz1NTUyVJaWlpf6f068ufri4A+bmh3mc3Ij471y0+O9cxPjfXtRvls5NzHMaY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vZJbbrlF69evd2i7/OK1pk2bas+ePapZs2ahtunm5qZu3bpp3rx5GjVqVK5xs2fPnpWXl5d2796t33//XS+99JKCg4MlyX6h2+XWrVunm2++WZL0xx9/aO/evbrlllsKVc/lQkND5enpqSNHjqht27ZXtQ0A/wycmQVwQ5s2bZqysrLUokULffLJJ9q3b5927dql1157zeHP4peqVauWjhw5ogULFujAgQN67bXX7GcjJen8+fPq37+/Vq1apcOHD+v777/Xxo0b7cFt8ODBWr58uQ4ePKgtW7Zo5cqV9mX9+vXTqVOn1L17d23cuFEHDhzQ8uXLFRMTo6ysrDzrGThwoBITEzVp0iTt27dPb7zxhsMQA0kaOXKk3nvvPcXHx2vHjh3atWuXFixYoP/85z/5vjbjx49XcHCwWrZsqffee087d+7Uvn37NHv2bDVp0kRnz57VzTffLA8PD73++uv66aeftHTpUo0dOzbP7Y0ZM0ZJSUnavn27evXqpQoVKqhz58757r8gZcqU0ZAhQ/TMM8/o3Xff1YEDB7Rlyxa9/vrrevfdd69qmwBuUK4etAsAxe3YsWOmX79+pmrVqsbDw8MEBQWZ++67z6xcudLeR5ddADZ06FBz0003mdKlS5vo6Gjz6quv2i9gysjIMN26dTPBwcHGw8PDVK5c2fTv39+cP3/eGGNM//79TY0aNYynp6epWLGieeyxx8zJkyft2967d6+5//77TdmyZY23t7epW7euGTx4sMnOzs73GN555x1TpUoV4+3tbaKiosykSZMcLqgyxpjExERz2223GW9vb+Pr62tatGhhZs6cWeBrc/r0afPcc8+ZWrVqGQ8PDxMQEGAiIiLM4sWL7fXMnz/fhISEGE9PTxMeHm6WLl1qJJkffvjBGPO/C8A+++wzU69ePePh4WFatGhhtm7dat9PXheANWrUyKGWV1991VStWtX+PDs720yZMsXUqVPHlCxZ0lSsWNFERkaa1atXF3hMAP5ZbMYU4S1eAAAAgGuIYQYAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCyCLMAAACwLMIsAAAALIswCwAAAMsizAIAAMCy/h+NCJHz96CLkAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Agrupar os dados por classe de cabine e calcular a taxa de sobrevivência\n", + "Classe_sobrevivente = df.groupby('Classe')['Sobreviveu'].mean()\n", + "\n", + "# Código do gráfico \n", + "plt.figure(figsize=(8, 6))\n", + "Classe_sobrevivente.plot(kind='bar', color='green')\n", + "plt.title('Taxa de Sobrevivência por Classe de Cabine')\n", + "plt.xlabel('Classe de Cabine')\n", + "plt.ylabel('Taxa de Sobrevivência')\n", + "plt.xticks(rotation=0)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "De acordo com a analise em tela, estima-se que a classe 2,3 são as classes com menos sobrevivetes. E a classe 1 com mais sobrevivente." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Grafico 3 - Numero de passageiros por gênero\n", + "- Para essa analise foi apresentado o grafico em pizza\n" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPwAAAETCAYAAAASzmuEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAp7ElEQVR4nO3deXgUZdb38W8gG5CFEMMOIQmy77tEBFQWcVQUjOIAwWEdRQYQQRgfFVCBhwcRZMeFRRSNKM7LqgwwLDqiAiqiCGETZYeEzZCQnPePSkI6e0KSu7r7fK7rvpJUVVedrvSvq+7q6ioPERGUUm6hlOkClFIlRwOvlBvRwCvlRjTwSrkRDbxSbkQDr5Qb0cAr5UY08Eq5EQ28ckoiwvTp01m7dq3pUpyKp+kClCqMOXPmsGDBAi5cuMCePXuoVauW6ZKcgm238LGxsQwdOpTw8HB8fX0JCAggMjKSWbNm8eeffxbbcvfv38/LL7/M0aNHi20ZdrFkyRI8PDzSm6+vL3Xq1GH48OGcPn26xOrYvn07UVFRVKtWDW9vbwIDA2nbti2TJk3Kto7Dhw/zyiuvsGbNGp5//nkGDhyIniGeP7bcwq9du5ZHH30UHx8f+vfvT6NGjUhMTGTHjh0899xz/PTTTyxatKhYlr1//34mTpxIp06d3GarMWnSJMLCwkhISGDHjh3Mnz+fdevWsW/fPsqWLVusy37xxReZPHky4eHhDBgwgPDwcBISEvjuu++YMWMGS5cuJTY21uExP//8M8uWLaN+/frUq1cPLy8vfvvtN2rWrFmstboEsZnDhw+Ln5+f1KtXT/74448s4w8ePChvvPFGsS0/JiZGANmyZUuxLcMu3n33XQHkm2++cRg+evRoAeT999+/pfmnpKTItWvXchy/cuVKASQqKkquX7+eZXxcXJy89NJLt1RDccrr+dmR7QI/bNgwAWTnzp35mj4pKUkmTZok4eHh4u3tLaGhoTJ+/HhJSEhwmC40NFTuv/9+2b59u7Ru3Vp8fHwkLCxMli5dmj5NWgAyt7Twr169Wnr06CFVqlQRb29vCQ8Pl0mTJsmNGzey1DVnzhwJCwsTX19fad26tWzbtk06duwoHTt2dJguISFBXnzxRYmIiBBvb2+pXr26PPfcc1nqB+Tpp5+Wjz76SOrXry++vr7Srl07+eGHH0REZMGCBRIRESE+Pj7SsWNHOXLkSJ7rLqfAr1mzRgB59dVXC7WON2zYIC1bthQfHx+ZOXNmjsuvU6eO3HbbbXL58uU8a81o3bp1cuedd0rZsmXFz89PevToIfv27XOYJjo6WsqVKycnTpyQhx56SMqVKye33XabPPvss1n+X8nJyTJz5kxp0KCB+Pj4SMWKFWXIkCFy4cKFfD+/2NhY6d27twQFBUmZMmWkbdu2smbNmgI9r5Jgu8BXq1ZNwsPD8z19dHS0ANK7d2+ZO3eu9O/fXwDp2bOnw3ShoaFSt25dqVSpkkyYMEHmzJkjLVq0EA8Pj/QXS2xsrIwYMUIAmTBhgixfvlyWL18up06dEhGRnj17SlRUlEyfPl3mz58vjz76qAAyZswYh2XNmzdPAOnQoYPMnj1bRo8eLRUqVJCIiAiHwCcnJ0vXrl2lbNmyMnLkSFm4cKEMHz5cPD095aGHHnKYJyBNmjSRGjVqyNSpU2Xq1KkSGBgoNWvWlDlz5kiDBg1kxowZ8sILL4i3t7d07tw5z3WXU+BnzZolgCxYsKDA67h27doSFBQkzz//vCxYsCDHPaUDBw4IIIMGDcqzzoyWLVsmHh4e0r17d3nzzTdl2rRpUqtWLSlfvrzDm1x0dLT4+vpKw4YN5W9/+5vMnz9fevXqJYDMmzfPYZ6DBg0ST09PGTx4sCxYsEDGjRsn5cqVk9atW0tiYmKez+/UqVNSqVIl8ff3l3/+85/y+uuvS9OmTaVUqVLyySefFOj5FTdbBT4+Pl6ALC/2nOzduzfbF82YMWMEkM2bN6cPCw0NFUC2bduWPuzMmTPi4+Mjzz77bPqw3Hbps9t9Gzp0qJQtWzZ9a3f9+nUJDg6W1q1bS1JSUvp0S5YsEcAh8MuXL5dSpUrJ9u3bHea5YMGCLHs5gPj4+Di8qBcuXCiAVK5cWS5dupQ+fPz48QLkuZVPC/ymTZvk7Nmz8ttvv8nKlSslODhYypQpIydOnCjUOt6wYUOuyxUR+eyzzwTI0j1LSUmRs2fPOrS09Xj58mUpX768DB482OExp06dksDAQIfhaW9SkyZNcpi2efPm0rJly/S/t2/fLoCsWLHCYboNGzZkGZ7T8xs5cqQADv/Hy5cvS1hYmNSqVUuSk5PzXB8lxVZH6S9dugSAv79/vqZft24dAKNHj3YY/uyzzwJk+Yy2QYMGdOjQIf3vkJAQ6taty+HDh/O1vDJlyqT/fvnyZc6dO0eHDh24du0av/zyCwDffvst58+fZ/DgwXh63jwm+te//pWgoCCH+cXExKQfeDp37lx6u/vuuwHYsmWLw/T33HOPw4HEtm3bAtCrVy+HdZY2PL/P69577yUkJIQaNWrw+OOP4+fnx6effkq1atUKvI7DwsLo1q1bnstM+1/7+fk5DI+PjyckJMSh7d27F4AvvviCuLg4+vTp47C+SpcuTdu2bbOsL4Bhw4Y5/N2hQweH9RITE0NgYCBdunRxmGfLli3x8/PLMs/snt+6deto06YNd955Z/owPz8/hgwZwtGjR9m/f3+e66Ok2OoofUBAAGCFKT+OHTtGqVKlqF27tsPwypUrU758eY4dO+YwPLujuEFBQVy8eDFfy/vpp5944YUX2Lx5c/oLNk18fHx6TUCWmjw9PbMc9T948CA///wzISEh2S7vzJkzudYfGBgIQI0aNbIdnt/nNXfuXOrUqYOnpyeVKlWibt26lCpVKv35FGQdh4WF5WuZaW9QV65ccRju5+fHF198AcDnn3/O9OnT08cdPHgQIP0NMbO0108aX1/fLOs28//74MGDxMfHU7FixWznmfl/kN3zO3bsWPqbbEb169dPH9+oUaNs51/SbBf4qlWrsm/fvgI9zsPDI1/TlS5dOtvhko/PcOPi4ujYsSMBAQFMmjSJiIgIfH192b17N+PGjSMlJaVANQOkpKTQuHFjXn/99WzHZw5yTvXfyvMCaNOmDa1atcp1mvyu44x7QbmpV68eQJb/taenJ/feey8AJ06ccBiXto6XL19O5cqVs8wz4x4V5LxeMs+zYsWKrFixItvxmd8w8vv87MpWgQf4y1/+wqJFi/jqq6+44447cp02NDSUlJQUDh48mP5uCnD69Gni4uIIDQ0t8PJzemFv3bqV8+fP88knn3DXXXelDz9y5EiWmgAOHTpE586d04ffuHGDo0eP0qRJk/RhERERfP/999xzzz35DlRJK451DFC3bl1uv/12Vq9ezRtvvEG5cuXyfExERAQAFStWTH9TuFURERFs2rSJyMjIQoc5NDSUAwcOZBme1s0r7DoqDrbqwwOMHTuWcuXKMWjQoGzPsoqNjWXWrFkA9OjRA4A33njDYZq0Leb9999f4OWnvfDi4uIchqdtLTJuNRMTE5k3b57DdK1atSI4OJjFixdz48aN9OErVqzIsosdFRXF77//zuLFi7PU8eeff3L16tUC11/UimMdp3n55Zc5d+4cgwcPJikpKcv4zHso3bp1IyAggNdeey3b6c+ePVvgGqKiokhOTmby5MlZxt24cSPL6yA7PXr0YNeuXXz11Vfpw65evcqiRYuoVasWDRo0KHBdxcV2W/iIiAjef/99HnvsMerXr+9wpt2XX35JTEwMAwYMAKBp06ZER0ezaNGi9F3uXbt2sXTpUnr27Omwhc2vZs2aUbp0aaZNm0Z8fDw+Pj7cfffdtG/fnqCgIKKjoxkxYgQeHh4sX748y4vS29ubl19+mWeeeYa7776bqKgojh49ypIlS4iIiHDYkvfr14+PPvqIYcOGsWXLFiIjI0lOTuaXX37ho48+YuPGjXnuahe34ljHaZ544gn27dvHlClT2LVrF48//jhhYWFcvXqVffv28cEHH+Dv759+sDMgIID58+fTr18/WrRoweOPP05ISAjHjx9n7dq1REZGMmfOnALV0LFjR4YOHcqUKVPYu3cvXbt2xcvLi4MHDxITE8OsWbPo3bt3rvN4/vnn+eCDD7jvvvsYMWIEFSpUYOnSpRw5coRVq1alHw+xBaOfEeTi119/lcGDB0utWrXE29tb/P39JTIyUt58802HEz6SkpJk4sSJEhYWJl5eXlKjRo1cTwrJLLuTYRYvXizh4eFSunRph4/odu7cKe3atZMyZcpI1apVZezYsbJx48ZsP8abPXu2hIaGio+Pj7Rp00Z27twpLVu2lO7duztMl5iYKNOmTZOGDRuKj4+PBAUFScuWLWXixIkSHx+fPh2pJ95kdOTIEQFk+vTpDsO3bNkigMTExOS6jnP6HD6zW13Hedm6dav07t1bqlSpIl5eXhIQECCtWrWSl156SU6ePJll+i1btki3bt0kMDBQfH19JSIiQgYMGCDffvtt+jRpJ95k9tJLL0l2L/tFixZJy5YtpUyZMuLv7y+NGzeWsWPHOpztmdvzSzvxpnz58uLr6ytt2rSx5Yk3HiL6rYOSkJKSQkhICI888ki2u/BKlQQb7Wu4joSEhCy7+suWLePChQt06tTJTFFKAbqFLwZbt25l1KhRPProowQHB7N7927efvtt6tevz3fffYe3t7fpEpWbst1BO1dQq1YtatSowezZs7lw4QIVKlSgf//+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "contagem_por_genero = df['Sexo'].value_counts()\n", + "\n", + "# Código do Gráfico\n", + "plt.figure(figsize=(3, 6))\n", + "plt.pie(contagem_por_genero, labels=contagem_por_genero.index, autopct='%1.1f%%', colors=['blue', 'red'])\n", + "plt.title('Contagem Por Gênero')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "De acordo com a analise em tela, estima-se que o a maioria dos passageiros no navio titanic eram homens" + ] + } + ], + "metadata": { + "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.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/material/titanic.csv b/exercicios/para-casa/titanic.csv similarity index 100% rename from material/titanic.csv rename to exercicios/para-casa/titanic.csv diff --git a/material/aula_s12.ipynb b/material/aula_s12.ipynb index 690a7b6..43633f9 100644 --- a/material/aula_s12.ipynb +++ b/material/aula_s12.ipynb @@ -114,16 +114,270 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "id": "_eorJ3GNS_mm", "outputId": "14f2b233-cc14-4f8a-a041-98b4cb90d2cc" }, - "outputs": [], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
.......................................
88688702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"femaleNaN12W./C. 660723.4500NaNS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ
\n", + "

891 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + ".. ... ... ... \n", + "886 887 0 2 \n", + "887 888 1 1 \n", + "888 889 0 3 \n", + "889 890 1 1 \n", + "890 891 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + ".. ... ... ... ... \n", + "886 Montvila, Rev. Juozas male 27.0 0 \n", + "887 Graham, Miss. Margaret Edith female 19.0 0 \n", + "888 Johnston, Miss. Catherine Helen \"Carrie\" female NaN 1 \n", + "889 Behr, Mr. Karl Howell male 26.0 0 \n", + "890 Dooley, Mr. Patrick male 32.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S \n", + ".. ... ... ... ... ... \n", + "886 0 211536 13.0000 NaN S \n", + "887 0 112053 30.0000 B42 S \n", + "888 2 W./C. 6607 23.4500 NaN S \n", + "889 0 111369 30.0000 C148 C \n", + "890 0 370376 7.7500 NaN Q \n", + "\n", + "[891 rows x 12 columns]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import pandas as pd\n", "\n", - "df = pd.read_csv(\"data/titanic.csv\")\n", + "df = pd.read_csv(\"titanic.csv\")\n", "df" ] }, @@ -138,12 +392,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "id": "ZuehjTU7S_mt", "outputId": "6ce66e1f-01d4-4889-f97f-50d5edae71e6" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['IdPassageiro', 'Sobreviveu', 'Classe', 'Nome', 'Sexo', 'Idade', 'NumeroIrmaos', 'NumeroPais', 'NumeroTicket', 'PrecoTicket', 'NumeroCabine', 'PortoEmbarcacao']\n" + ] + } + ], "source": [ "# Resolução\n", "\n", @@ -173,12 +435,279 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "id": "h6tvl5HPS_mw", "outputId": "4639f186-8484-4780-f4dc-0a29f3cc759e" }, - "outputs": [], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
.......................................
88688702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"femaleNaN12W./C. 660723.4500NaNS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ
\n", + "

891 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + ".. ... ... ... \n", + "886 887 0 2 \n", + "887 888 1 1 \n", + "888 889 0 3 \n", + "889 890 1 1 \n", + "890 891 0 3 \n", + "\n", + " Nome Sexo Idade \\\n", + "0 Braund, Mr. Owen Harris male 22.0 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "2 Heikkinen, Miss. Laina female 26.0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 \n", + "4 Allen, Mr. William Henry male 35.0 \n", + ".. ... ... ... \n", + "886 Montvila, Rev. Juozas male 27.0 \n", + "887 Graham, Miss. Margaret Edith female 19.0 \n", + "888 Johnston, Miss. Catherine Helen \"Carrie\" female NaN \n", + "889 Behr, Mr. Karl Howell male 26.0 \n", + "890 Dooley, Mr. Patrick male 32.0 \n", + "\n", + " NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "0 1 0 A/5 21171 7.2500 NaN \n", + "1 1 0 PC 17599 71.2833 C85 \n", + "2 0 0 STON/O2. 3101282 7.9250 NaN \n", + "3 1 0 113803 53.1000 C123 \n", + "4 0 0 373450 8.0500 NaN \n", + ".. ... ... ... ... ... \n", + "886 0 0 211536 13.0000 NaN \n", + "887 0 0 112053 30.0000 B42 \n", + "888 1 2 W./C. 6607 23.4500 NaN \n", + "889 0 0 111369 30.0000 C148 \n", + "890 0 0 370376 7.7500 NaN \n", + "\n", + " PortoEmbarcacao \n", + "0 S \n", + "1 C \n", + "2 S \n", + "3 S \n", + "4 S \n", + ".. ... \n", + "886 S \n", + "887 S \n", + "888 S \n", + "889 C \n", + "890 Q \n", + "\n", + "[891 rows x 12 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.columns = novas_colunas\n", "df" @@ -203,12 +732,279 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "id": "gZKfzWYAS_mx", "outputId": "cdc7a73b-0f3b-42ce-cdf2-f8322b15e686" }, - "outputs": [], + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
.......................................
88688702Montvila, Rev. Juozasmale27.00021153613.0000NaNS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"femaleNaN12W./C. 660723.4500NaNS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NaNQ
\n", + "

891 rows × 12 columns

\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + ".. ... ... ... \n", + "886 887 0 2 \n", + "887 888 1 1 \n", + "888 889 0 3 \n", + "889 890 1 1 \n", + "890 891 0 3 \n", + "\n", + " Nome Sexo Idade \\\n", + "0 Braund, Mr. Owen Harris male 22.0 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "2 Heikkinen, Miss. Laina female 26.0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 \n", + "4 Allen, Mr. William Henry male 35.0 \n", + ".. ... ... ... \n", + "886 Montvila, Rev. Juozas male 27.0 \n", + "887 Graham, Miss. Margaret Edith female 19.0 \n", + "888 Johnston, Miss. Catherine Helen \"Carrie\" female NaN \n", + "889 Behr, Mr. Karl Howell male 26.0 \n", + "890 Dooley, Mr. Patrick male 32.0 \n", + "\n", + " NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "0 1 0 A/5 21171 7.2500 NaN \n", + "1 1 0 PC 17599 71.2833 C85 \n", + "2 0 0 STON/O2. 3101282 7.9250 NaN \n", + "3 1 0 113803 53.1000 C123 \n", + "4 0 0 373450 8.0500 NaN \n", + ".. ... ... ... ... ... \n", + "886 0 0 211536 13.0000 NaN \n", + "887 0 0 112053 30.0000 B42 \n", + "888 1 2 W./C. 6607 23.4500 NaN \n", + "889 0 0 111369 30.0000 C148 \n", + "890 0 0 370376 7.7500 NaN \n", + "\n", + " PortoEmbarcacao \n", + "0 S \n", + "1 C \n", + "2 S \n", + "3 S \n", + "4 S \n", + ".. ... \n", + "886 S \n", + "887 S \n", + "888 S \n", + "889 C \n", + "890 Q \n", + "\n", + "[891 rows x 12 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# dataframe originial\n", "df" @@ -216,12 +1012,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "id": "xzHvkQRrS_mx", "outputId": "ca4d371d-386e-433d-e49b-6e5a6749f767" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(305, 12)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Vamos começar com um filtro baseado em uma única condição: idade > 30\n", "df_filtrado = df[df['Idade'] > 30]\n", @@ -230,12 +1037,163 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, + "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", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [IdPassageiro, Sobreviveu, Classe, Nome, Sexo, Idade, NumeroIrmaos, NumeroPais, NumeroTicket, PrecoTicket, NumeroCabine, PortoEmbarcacao]\n", + "Index: []" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[(df['Idade'] > 30) & (df['Sexo'] == 'F')]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "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", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
85585613Aks, Mrs. Sam (Leah Rosen)female18.0013920919.35NaNS
\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe Nome Sexo \\\n", + "855 856 1 3 Aks, Mrs. Sam (Leah Rosen) female \n", + "\n", + " Idade NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "855 18.0 0 1 392091 9.35 NaN \n", + "\n", + " PortoEmbarcacao \n", + "855 S " + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[df['Nome'].str.contains('Rose')]" + ] + }, + { + "cell_type": "code", + "execution_count": 21, "metadata": { "id": "ZFZ7LOT6S_my", "outputId": "e41628cd-501b-4009-d643-c91f7fe9d7e4" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 12)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Agora um filtro com múltiplas condições\n", "df_filtrado = df[(df['Idade'] > 30) & (df['Sexo'] == 'F')]\n", @@ -244,28 +1202,182 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": { "id": "BpueQ0G0S_my", "outputId": "ba8ca09f-6788-4332-9a11-786aa02700e4" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(10, 12)" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Selecionando entradas que possuem uma determinada 'string'\n", "# Vamos procurar por nomes que possuam 'Good'\n", "\n", - "df_filtrado = df[df['Nome'].str.contains('Good')]\n", + "df_filtrado = df[df['Nome'].str.contains('Ros')]\n", "df_filtrado.shape" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": { "id": "ODR1BQRyS_my", "outputId": "a2289b09-9eb0-460f-da3b-265bfaf400fb" }, - "outputs": [], + "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", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
161703Rice, Master. Eugenemale2.04138265229.1250NaNQ
222313McGowan, Miss. Anna \"Annie\"female15.0003309238.0292NaNQ
282913O'Dwyer, Miss. Ellen \"Nellie\"femaleNaN003309597.8792NaNQ
323313Glynn, Miss. Mary AgathafemaleNaN003356777.7500NaNQ
\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe Nome Sexo \\\n", + "5 6 0 3 Moran, Mr. James male \n", + "16 17 0 3 Rice, Master. Eugene male \n", + "22 23 1 3 McGowan, Miss. Anna \"Annie\" female \n", + "28 29 1 3 O'Dwyer, Miss. Ellen \"Nellie\" female \n", + "32 33 1 3 Glynn, Miss. Mary Agatha female \n", + "\n", + " Idade NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "5 NaN 0 0 330877 8.4583 NaN \n", + "16 2.0 4 1 382652 29.1250 NaN \n", + "22 15.0 0 0 330923 8.0292 NaN \n", + "28 NaN 0 0 330959 7.8792 NaN \n", + "32 NaN 0 0 335677 7.7500 NaN \n", + "\n", + " PortoEmbarcacao \n", + "5 Q \n", + "16 Q \n", + "22 Q \n", + "28 Q \n", + "32 Q " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Por último, utilizando a função isin()\n", "df_filtrado = df[df['PortoEmbarcacao'].isin(['Q'])]\n", @@ -288,30 +1400,52 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": { "id": "W-Ktv45VS_mz", "outputId": "00f9464e-df1b-4cd2-c0b3-30eac23016f1" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(491, 12)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Para ilustrar essa função, vamos procurar por pessoas que estavam na classe 3:\n", "df_consulta = df.query(\"Classe == 3\")\n", - "df_consulta.head()\n" + "df_consulta.shape\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": { "id": "uVSmQ1zeS_mz", "outputId": "555cf64e-c5a6-4b3d-d69a-89fb77dd1012" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(707, 12)" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# A função query também pode ser utilizada para filtrar baseada em uma lista de valores\n", "df_consulta = df.query(\"Classe in (1,3)\")\n", - "df_consulta.head()" + "df_consulta.shape" ] }, { @@ -355,12 +1489,120 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": { "id": "cr5Lt68uS_m4", "outputId": "8786bf85-9a78-4ff2-a2e5-12a514640843" }, - "outputs": [], + "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", + "
SobreviveuIdade
0022.0
1138.0
2126.0
3135.0
4035.0
.........
886027.0
887119.0
8880NaN
889126.0
890032.0
\n", + "

891 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Sobreviveu Idade\n", + "0 0 22.0\n", + "1 1 38.0\n", + "2 1 26.0\n", + "3 1 35.0\n", + "4 0 35.0\n", + ".. ... ...\n", + "886 0 27.0\n", + "887 1 19.0\n", + "888 0 NaN\n", + "889 1 26.0\n", + "890 0 32.0\n", + "\n", + "[891 rows x 2 columns]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.loc[:, [\"Sobreviveu\", \"Idade\"]]" ] @@ -381,24 +1623,225 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": { "id": "NzQE8tnOS_m4", "outputId": "7e798f09-5b8e-4561-d1ab-bc2b460fd619" }, - "outputs": [], + "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", + "
IdPassageiroSobreviveu
010
121
231
341
450
.........
8868870
8878881
8888890
8898901
8908910
\n", + "

891 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu\n", + "0 1 0\n", + "1 2 1\n", + "2 3 1\n", + "3 4 1\n", + "4 5 0\n", + ".. ... ...\n", + "886 887 0\n", + "887 888 1\n", + "888 889 0\n", + "889 890 1\n", + "890 891 0\n", + "\n", + "[891 rows x 2 columns]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.iloc[:, [0,1]]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": { "id": "PSjsxwSuS_m4", "outputId": "cb5f5ab9-92b9-4de7-f718-90515d59ab14" }, - "outputs": [], + "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", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "\n", + " Nome Sexo Idade \\\n", + "0 Braund, Mr. Owen Harris male 22.0 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "\n", + " NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "0 1 0 A/5 21171 7.2500 NaN \n", + "1 1 0 PC 17599 71.2833 C85 \n", + "\n", + " PortoEmbarcacao \n", + "0 S \n", + "1 C " + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.iloc[[0,1],:]" ] @@ -417,6 +1860,1083 @@ "- Utilizar a função loc para obter a idade e sobrevivência do passageiro;\n" ] }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 12)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#filtro condição unica\n", + "\n", + "df_filtro1 = df[df['Sobreviveu']> 3]\n", + "df_filtro1.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 12)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#filtro com mais de uma condição\n", + "df_filtro = df[(df['Sobreviveu']>2) & (df['Sexo']=='famale')]\n", + "df_filtro.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
5603Moran, Mr. JamesmaleNaN003308778.4583NaNQ
6701McCarthy, Mr. Timothy Jmale54.0001746351.8625E46S
7803Palsson, Master. Gosta Leonardmale2.03134990921.0750NaNS
8913Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)female27.00234774211.1333NaNS
91012Nasser, Mrs. Nicholas (Adele Achem)female14.01023773630.0708NaNC
101113Sandstrom, Miss. Marguerite Rutfemale4.011PP 954916.7000G6S
111211Bonnell, Miss. Elizabethfemale58.00011378326.5500C103S
121303Saundercock, Mr. William Henrymale20.000A/5. 21518.0500NaNS
131403Andersson, Mr. Anders Johanmale39.01534708231.2750NaNS
141503Vestrom, Miss. Hulda Amanda Adolfinafemale14.0003504067.8542NaNS
151612Hewlett, Mrs. (Mary D Kingcome)female55.00024870616.0000NaNS
161703Rice, Master. Eugenemale2.04138265229.1250NaNQ
171812Williams, Mr. Charles EugenemaleNaN0024437313.0000NaNS
181903Vander Planke, Mrs. Julius (Emelia Maria Vande...female31.01034576318.0000NaNS
192013Masselmani, Mrs. FatimafemaleNaN0026497.2250NaNC
202102Fynney, Mr. Joseph Jmale35.00023986526.0000NaNS
212212Beesley, Mr. Lawrencemale34.00024869813.0000D56S
222313McGowan, Miss. Anna \"Annie\"female15.0003309238.0292NaNQ
232411Sloper, Mr. William Thompsonmale28.00011378835.5000A6S
242503Palsson, Miss. Torborg Danirafemale8.03134990921.0750NaNS
252613Asplund, Mrs. Carl Oscar (Selma Augusta Emilia...female38.01534707731.3875NaNS
262703Emir, Mr. Farred ChehabmaleNaN0026317.2250NaNC
272801Fortune, Mr. Charles Alexandermale19.03219950263.0000C23 C25 C27S
282913O'Dwyer, Miss. Ellen \"Nellie\"femaleNaN003309597.8792NaNQ
293003Todoroff, Mr. LaliomaleNaN003492167.8958NaNS
\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "5 6 0 3 \n", + "6 7 0 1 \n", + "7 8 0 3 \n", + "8 9 1 3 \n", + "9 10 1 2 \n", + "10 11 1 3 \n", + "11 12 1 1 \n", + "12 13 0 3 \n", + "13 14 0 3 \n", + "14 15 0 3 \n", + "15 16 1 2 \n", + "16 17 0 3 \n", + "17 18 1 2 \n", + "18 19 0 3 \n", + "19 20 1 3 \n", + "20 21 0 2 \n", + "21 22 1 2 \n", + "22 23 1 3 \n", + "23 24 1 1 \n", + "24 25 0 3 \n", + "25 26 1 3 \n", + "26 27 0 3 \n", + "27 28 0 1 \n", + "28 29 1 3 \n", + "29 30 0 3 \n", + "\n", + " Nome Sexo Idade \\\n", + "0 Braund, Mr. Owen Harris male 22.0 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "2 Heikkinen, Miss. Laina female 26.0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 \n", + "4 Allen, Mr. William Henry male 35.0 \n", + "5 Moran, Mr. James male NaN \n", + "6 McCarthy, Mr. Timothy J male 54.0 \n", + "7 Palsson, Master. Gosta Leonard male 2.0 \n", + "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27.0 \n", + "9 Nasser, Mrs. Nicholas (Adele Achem) female 14.0 \n", + "10 Sandstrom, Miss. Marguerite Rut female 4.0 \n", + "11 Bonnell, Miss. Elizabeth female 58.0 \n", + "12 Saundercock, Mr. William Henry male 20.0 \n", + "13 Andersson, Mr. Anders Johan male 39.0 \n", + "14 Vestrom, Miss. Hulda Amanda Adolfina female 14.0 \n", + "15 Hewlett, Mrs. (Mary D Kingcome) female 55.0 \n", + "16 Rice, Master. Eugene male 2.0 \n", + "17 Williams, Mr. Charles Eugene male NaN \n", + "18 Vander Planke, Mrs. Julius (Emelia Maria Vande... female 31.0 \n", + "19 Masselmani, Mrs. Fatima female NaN \n", + "20 Fynney, Mr. Joseph J male 35.0 \n", + "21 Beesley, Mr. Lawrence male 34.0 \n", + "22 McGowan, Miss. Anna \"Annie\" female 15.0 \n", + "23 Sloper, Mr. William Thompson male 28.0 \n", + "24 Palsson, Miss. Torborg Danira female 8.0 \n", + "25 Asplund, Mrs. Carl Oscar (Selma Augusta Emilia... female 38.0 \n", + "26 Emir, Mr. Farred Chehab male NaN \n", + "27 Fortune, Mr. Charles Alexander male 19.0 \n", + "28 O'Dwyer, Miss. Ellen \"Nellie\" female NaN \n", + "29 Todoroff, Mr. Lalio male NaN \n", + "\n", + " NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "0 1 0 A/5 21171 7.2500 NaN \n", + "1 1 0 PC 17599 71.2833 C85 \n", + "2 0 0 STON/O2. 3101282 7.9250 NaN \n", + "3 1 0 113803 53.1000 C123 \n", + "4 0 0 373450 8.0500 NaN \n", + "5 0 0 330877 8.4583 NaN \n", + "6 0 0 17463 51.8625 E46 \n", + "7 3 1 349909 21.0750 NaN \n", + "8 0 2 347742 11.1333 NaN \n", + "9 1 0 237736 30.0708 NaN \n", + "10 1 1 PP 9549 16.7000 G6 \n", + "11 0 0 113783 26.5500 C103 \n", + "12 0 0 A/5. 2151 8.0500 NaN \n", + "13 1 5 347082 31.2750 NaN \n", + "14 0 0 350406 7.8542 NaN \n", + "15 0 0 248706 16.0000 NaN \n", + "16 4 1 382652 29.1250 NaN \n", + "17 0 0 244373 13.0000 NaN \n", + "18 1 0 345763 18.0000 NaN \n", + "19 0 0 2649 7.2250 NaN \n", + "20 0 0 239865 26.0000 NaN \n", + "21 0 0 248698 13.0000 D56 \n", + "22 0 0 330923 8.0292 NaN \n", + "23 0 0 113788 35.5000 A6 \n", + "24 3 1 349909 21.0750 NaN \n", + "25 1 5 347077 31.3875 NaN \n", + "26 0 0 2631 7.2250 NaN \n", + "27 3 2 19950 263.0000 C23 C25 C27 \n", + "28 0 0 330959 7.8792 NaN \n", + "29 0 0 349216 7.8958 NaN \n", + "\n", + " PortoEmbarcacao \n", + "0 S \n", + "1 C \n", + "2 S \n", + "3 S \n", + "4 S \n", + "5 Q \n", + "6 S \n", + "7 S \n", + "8 S \n", + "9 C \n", + "10 S \n", + "11 S \n", + "12 S \n", + "13 S \n", + "14 S \n", + "15 S \n", + "16 Q \n", + "17 S \n", + "18 S \n", + "19 C \n", + "20 S \n", + "21 S \n", + "22 Q \n", + "23 S \n", + "24 S \n", + "25 S \n", + "26 C \n", + "27 S \n", + "28 Q \n", + "29 S " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_amostra = df[:30]\n", + "df_amostra" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdPassageiroSobreviveuClasseNomeSexoIdadeNumeroIrmaosNumeroPaisNumeroTicketPrecoTicketNumeroCabinePortoEmbarcacao
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
121303Saundercock, Mr. William Henrymale20.000A/5. 21518.0500NaNS
13213303Robins, Mrs. Alexander A (Grace Charity Laury)female47.010A/5. 333714.5000NaNS
15315403van Billiard, Mr. Austin Blylermale40.502A/5. 85114.5000NaNS
20420513Cohen, Mr. Gurshon \"Gus\"male18.000A/5 35408.0500NaNS
21221303Perkin, Mr. John Henrymale22.000A/5 211747.2500NaNS
22722803Lovell, Mr. John Hall (\"Henry\")male20.500A/5 211737.2500NaNS
25325403Lobb, Mr. William Arthurmale30.010A/5. 333616.1000NaNS
28328413Dorking, Mr. Edward Arthurmale19.000A/5. 104828.0500NaNS
30430503Williams, Mr. Howard Hugh \"Harry\"maleNaN00A/5 24668.0500NaNS
32032103Dennis, Mr. Samuelmale22.000A/5 211727.2500NaNS
42142203Charters, Mr. Davidmale21.000A/5. 130327.7333NaNQ
45445503Peduzzi, Mr. JosephmaleNaN00A/5 28178.0500NaNS
48248303Rouse, Mr. Richard Henrymale50.000A/5 35948.0500NaNS
59259303Elsbury, Mr. William Jamesmale47.000A/5 39027.2500NaNS
61761803Lobb, Mrs. William Arthur (Cordelia K Stanlick)female26.010A/5. 333616.1000NaNS
66866903Cook, Mr. Jacobmale43.000A/5 35368.0500NaNS
\n", + "
" + ], + "text/plain": [ + " IdPassageiro Sobreviveu Classe \\\n", + "0 1 0 3 \n", + "12 13 0 3 \n", + "132 133 0 3 \n", + "153 154 0 3 \n", + "204 205 1 3 \n", + "212 213 0 3 \n", + "227 228 0 3 \n", + "253 254 0 3 \n", + "283 284 1 3 \n", + "304 305 0 3 \n", + "320 321 0 3 \n", + "421 422 0 3 \n", + "454 455 0 3 \n", + "482 483 0 3 \n", + "592 593 0 3 \n", + "617 618 0 3 \n", + "668 669 0 3 \n", + "\n", + " Nome Sexo Idade \\\n", + "0 Braund, Mr. Owen Harris male 22.0 \n", + "12 Saundercock, Mr. William Henry male 20.0 \n", + "132 Robins, Mrs. Alexander A (Grace Charity Laury) female 47.0 \n", + "153 van Billiard, Mr. Austin Blyler male 40.5 \n", + "204 Cohen, Mr. Gurshon \"Gus\" male 18.0 \n", + "212 Perkin, Mr. John Henry male 22.0 \n", + "227 Lovell, Mr. John Hall (\"Henry\") male 20.5 \n", + "253 Lobb, Mr. William Arthur male 30.0 \n", + "283 Dorking, Mr. Edward Arthur male 19.0 \n", + "304 Williams, Mr. Howard Hugh \"Harry\" male NaN \n", + "320 Dennis, Mr. Samuel male 22.0 \n", + "421 Charters, Mr. David male 21.0 \n", + "454 Peduzzi, Mr. Joseph male NaN \n", + "482 Rouse, Mr. Richard Henry male 50.0 \n", + "592 Elsbury, Mr. William James male 47.0 \n", + "617 Lobb, Mrs. William Arthur (Cordelia K Stanlick) female 26.0 \n", + "668 Cook, Mr. Jacob male 43.0 \n", + "\n", + " NumeroIrmaos NumeroPais NumeroTicket PrecoTicket NumeroCabine \\\n", + "0 1 0 A/5 21171 7.2500 NaN \n", + "12 0 0 A/5. 2151 8.0500 NaN \n", + "132 1 0 A/5. 3337 14.5000 NaN \n", + "153 0 2 A/5. 851 14.5000 NaN \n", + "204 0 0 A/5 3540 8.0500 NaN \n", + "212 0 0 A/5 21174 7.2500 NaN \n", + "227 0 0 A/5 21173 7.2500 NaN \n", + "253 1 0 A/5. 3336 16.1000 NaN \n", + "283 0 0 A/5. 10482 8.0500 NaN \n", + "304 0 0 A/5 2466 8.0500 NaN \n", + "320 0 0 A/5 21172 7.2500 NaN \n", + "421 0 0 A/5. 13032 7.7333 NaN \n", + "454 0 0 A/5 2817 8.0500 NaN \n", + "482 0 0 A/5 3594 8.0500 NaN \n", + "592 0 0 A/5 3902 7.2500 NaN \n", + "617 1 0 A/5. 3336 16.1000 NaN \n", + "668 0 0 A/5 3536 8.0500 NaN \n", + "\n", + " PortoEmbarcacao \n", + "0 S \n", + "12 S \n", + "132 S \n", + "153 S \n", + "204 S \n", + "212 S \n", + "227 S \n", + "253 S \n", + "283 S \n", + "304 S \n", + "320 S \n", + "421 Q \n", + "454 S \n", + "482 S \n", + "592 S \n", + "617 S \n", + "668 S " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_string = df[df['NumeroTicket'].str.contains('A/5')]\n", + "df_string" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -426,7 +2946,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -455,16 +2975,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": { "id": "noSCxvLQS_m6", "outputId": "fd434c19-19d3-4395-a595-83703e140d1b" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Agrupar passageiros por classe\n", "dado_agrupado = df.groupby('Classe')\n", - "\n", + "dado_agrupado\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Contagem de passageiros\n", + "Classe\n", + "1 216\n", + "2 184\n", + "3 491\n", + "Name: IdPassageiro, dtype: int64\n" + ] + } + ], + "source": [ "# Contagem de passageiros em cada classe, usando os dados agrupados no passo anterior\n", "contagem_passageiros = dado_agrupado['IdPassageiro'].count()\n", "\n", @@ -474,12 +3027,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "metadata": { "id": "UxbPOZJfS_m7", "outputId": "f2031638-fbad-45b1-94a6-1415795d6800" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Média de Idade de passageiros por classe\n", + "Classe\n", + "1 38.233441\n", + "2 29.877630\n", + "3 25.140620\n", + "Name: Idade, dtype: float64\n" + ] + } + ], "source": [ "# Média de Idade de passageiros em cada classe\n", "media_idade = dado_agrupado['Idade'].mean()\n", @@ -490,12 +3056,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": { "id": "jxk2rE1hS_m7", "outputId": "55e2c10a-49b5-4a8a-f979-162b4bc89e1b" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Valor máximo do preço da passagem por classe\n", + "Classe\n", + "1 512.3292\n", + "2 73.5000\n", + "3 69.5500\n", + "Name: PrecoTicket, dtype: float64\n", + "Valor mínimo do preço da passagem por classe\n", + "Classe\n", + "1 0.0\n", + "2 0.0\n", + "3 0.0\n", + "Name: PrecoTicket, dtype: float64\n" + ] + } + ], "source": [ "# Obter o valor máximo e mínimo pago por passageiros em cada classe:\n", "valor_max = dado_agrupado['PrecoTicket'].max()\n", @@ -514,9 +3099,92 @@ "source": [ "### Exercício 04 parte 02\n", "\n", - "- Agrupar passageiros por classe\n", - "- Obter a média de idade de passageiros por classe\n", - "- Obter o valor máximo e mínimo pago por passageiros em cada classe" + "- Agrupar passageiros por genero\n", + "- Obter a média de idade de passageiros por genero\n", + "- Obter o valor máximo e mínimo pago por passageiros em cada genero\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Contagem de passageiros\n", + "Sexo\n", + "female 314\n", + "male 577\n", + "Name: IdPassageiro, dtype: int64\n" + ] + } + ], + "source": [ + "dado_agrupado = df.groupby('Sexo')\n", + "dado_agrupado\n", + "contagem_passageiros = dado_agrupado['IdPassageiro'].count()\n", + "\n", + "print(\"Contagem de passageiros\")\n", + "print(contagem_passageiros)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Média de Idade de passageiros por classe\n", + "Sexo\n", + "female 27.915709\n", + "male 30.726645\n", + "Name: Idade, dtype: float64\n" + ] + } + ], + "source": [ + "media_idade = dado_agrupado['Idade'].mean()\n", + "\n", + "print(\"Média de Idade de passageiros por classe\")\n", + "print(media_idade)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Valor máximo do preço da passagem por classe\n", + "Sexo\n", + "female 512.3292\n", + "male 512.3292\n", + "Name: PrecoTicket, dtype: float64\n", + "valor minimo do preco da passagem por classe\n", + "Sexo\n", + "female 6.75\n", + "male 0.00\n", + "Name: PrecoTicket, dtype: float64\n" + ] + } + ], + "source": [ + "#obter o valor maximo e minimo pago por passageiros em cada classe\n", + "valor_max = dado_agrupado['PrecoTicket'].max()\n", + "valor_min = dado_agrupado['PrecoTicket'].min()\n", + "\n", + "print(\"Valor máximo do preço da passagem por classe\")\n", + "print(valor_max)\n", + "print(\"valor minimo do preco da passagem por classe\")\n", + "print(valor_min)" ] }, { @@ -563,7 +3231,459 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 23.1.2 -> 23.3.1\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting matplotlib\n", + " Downloading matplotlib-3.8.0-cp311-cp311-win_amd64.whl (7.6 MB)\n", + " 0.0/7.6 MB ? eta -:--:--\n", + " 0.1/7.6 MB 1.6 MB/s eta 0:00:05\n", + " 0.1/7.6 MB 653.6 kB/s eta 0:00:12\n", + " 0.1/7.6 MB 798.9 kB/s eta 0:00:10\n", + " 0.1/7.6 MB 774.0 kB/s eta 0:00:10\n", + " 0.2/7.6 MB 697.2 kB/s eta 0:00:11\n", + " 0.2/7.6 MB 654.4 kB/s eta 0:00:12\n", + " - 0.2/7.6 MB 684.7 kB/s eta 0:00:11\n", + " - 0.3/7.6 MB 853.3 kB/s eta 0:00:09\n", + " -- 0.5/7.6 MB 1.0 MB/s eta 0:00:07\n", + " --- 0.6/7.6 MB 1.2 MB/s eta 0:00:06\n", + " --- 0.7/7.6 MB 1.3 MB/s eta 0:00:06\n", + " --- 0.7/7.6 MB 1.3 MB/s eta 0:00:06\n", + " --- 0.7/7.6 MB 1.2 MB/s eta 0:00:06\n", + " --- 0.8/7.6 MB 1.1 MB/s eta 0:00:07\n", + " ----- 1.0/7.6 MB 1.4 MB/s eta 0:00:05\n", + " ----- 1.1/7.6 MB 1.4 MB/s eta 0:00:05\n", + " ----- 1.1/7.6 MB 1.4 MB/s eta 0:00:05\n", + " ------ 1.2/7.6 MB 1.4 MB/s eta 0:00:05\n", + " ------ 1.2/7.6 MB 1.3 MB/s eta 0:00:05\n", + " ------ 1.2/7.6 MB 1.3 MB/s eta 0:00:05\n", + " ------ 1.3/7.6 MB 1.3 MB/s eta 0:00:05\n", + " ------- 1.4/7.6 MB 1.3 MB/s eta 0:00:05\n", + " -------- 1.6/7.6 MB 1.4 MB/s eta 0:00:05\n", + " -------- 1.6/7.6 MB 1.4 MB/s eta 0:00:05\n", + " -------- 1.6/7.6 MB 1.4 MB/s eta 0:00:05\n", + " --------- 1.8/7.6 MB 1.5 MB/s eta 0:00:04\n", + " --------- 1.8/7.6 MB 1.4 MB/s eta 0:00:05\n", + " ---------- 2.0/7.6 MB 1.5 MB/s eta 0:00:04\n", + " ---------- 2.1/7.6 MB 1.5 MB/s eta 0:00:04\n", + " ----------- 2.2/7.6 MB 1.5 MB/s eta 0:00:04\n", + " ------------ 2.4/7.6 MB 1.6 MB/s eta 0:00:04\n", + " ------------ 2.4/7.6 MB 1.5 MB/s eta 0:00:04\n", + " ------------- 2.5/7.6 MB 1.6 MB/s eta 0:00:04\n", + " ------------- 2.5/7.6 MB 1.5 MB/s eta 0:00:04\n", + " ------------- 2.7/7.6 MB 1.5 MB/s eta 0:00:04\n", + " -------------- 2.7/7.6 MB 1.6 MB/s eta 0:00:04\n", + " -------------- 2.8/7.6 MB 1.6 MB/s eta 0:00:04\n", + " --------------- 2.9/7.6 MB 1.5 MB/s eta 0:00:04\n", + " ---------------- 3.1/7.6 MB 1.6 MB/s eta 0:00:03\n", + " ----------------- 3.3/7.6 MB 1.7 MB/s eta 0:00:03\n", + " ------------------ 3.6/7.6 MB 1.8 MB/s eta 0:00:03\n", + " ------------------- 3.8/7.6 MB 1.9 MB/s eta 0:00:03\n", + " -------------------- 4.0/7.6 MB 1.9 MB/s eta 0:00:02\n", + " -------------------- 4.0/7.6 MB 1.9 MB/s eta 0:00:02\n", + " --------------------- 4.0/7.6 MB 1.8 MB/s eta 0:00:02\n", + " --------------------- 4.2/7.6 MB 1.8 MB/s eta 0:00:02\n", + " ---------------------- 4.4/7.6 MB 1.9 MB/s eta 0:00:02\n", + " ----------------------- 4.4/7.6 MB 1.9 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.9 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.8 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.8 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.8 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------- 4.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------ 4.7/7.6 MB 1.5 MB/s eta 0:00:02\n", + " --------------------------- 5.2/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ---------------------------- 5.4/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ---------------------------- 5.5/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ----------------------------- 5.6/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------ 5.7/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------ 5.7/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------ 5.7/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------ 5.7/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------ 5.7/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------ 5.7/7.6 MB 1.7 MB/s eta 0:00:02\n", + " ------------------------------- 6.0/7.6 MB 1.6 MB/s eta 0:00:02\n", + " ------------------------------- 6.0/7.6 MB 1.6 MB/s eta 0:00:02\n", + " ------------------------------- 6.0/7.6 MB 1.6 MB/s eta 0:00:02\n", + " ------------------------------- 6.0/7.6 MB 1.6 MB/s eta 0:00:02\n", + " ------------------------------- 6.1/7.6 MB 1.6 MB/s eta 0:00:02\n", + " ------------------------------- 6.1/7.6 MB 1.6 MB/s eta 0:00:01\n", + " -------------------------------- 6.1/7.6 MB 1.6 MB/s eta 0:00:01\n", + " -------------------------------- 6.3/7.6 MB 1.6 MB/s eta 0:00:01\n", + " --------------------------------- 6.5/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ---------------------------------- 6.5/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ---------------------------------- 6.5/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ---------------------------------- 6.5/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ---------------------------------- 6.6/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ---------------------------------- 6.6/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ----------------------------------- 6.7/7.6 MB 1.6 MB/s eta 0:00:01\n", + " ----------------------------------- 6.8/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ----------------------------------- 6.8/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ----------------------------------- 6.8/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ----------------------------------- 6.8/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ----------------------------------- 6.8/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ------------------------------------ 6.9/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ------------------------------------ 6.9/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ------------------------------------ 7.0/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ------------------------------------ 7.1/7.6 MB 1.5 MB/s eta 0:00:01\n", + " ------------------------------------- 7.2/7.6 MB 1.5 MB/s eta 0:00:01\n", + " -------------------------------------- 7.3/7.6 MB 1.5 MB/s eta 0:00:01\n", + " -------------------------------------- 7.3/7.6 MB 1.5 MB/s eta 0:00:01\n", + " -------------------------------------- 7.4/7.6 MB 1.5 MB/s eta 0:00:01\n", + " -------------------------------------- 7.4/7.6 MB 1.5 MB/s eta 0:00:01\n", + " -------------------------------------- 7.4/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.5/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.5/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.5/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.5/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.5/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " --------------------------------------- 7.6/7.6 MB 1.4 MB/s eta 0:00:01\n", + " ---------------------------------------- 7.6/7.6 MB 1.2 MB/s eta 0:00:00\n", + "Collecting contourpy>=1.0.1 (from matplotlib)\n", + " Downloading contourpy-1.1.1-cp311-cp311-win_amd64.whl (480 kB)\n", + " 0.0/480.5 kB ? eta -:--:--\n", + " -------- 112.6/480.5 kB 3.3 MB/s eta 0:00:01\n", + " --------- 122.9/480.5 kB 1.8 MB/s eta 0:00:01\n", + " ------------ 163.8/480.5 kB 1.2 MB/s eta 0:00:01\n", + " ------------ 163.8/480.5 kB 1.2 MB/s eta 0:00:01\n", + " -------------- 194.6/480.5 kB 845.5 kB/s eta 0:00:01\n", + " --------------- 204.8/480.5 kB 623.6 kB/s eta 0:00:01\n", + " ------------------ 245.8/480.5 kB 656.0 kB/s eta 0:00:01\n", + " ---------------------- 297.0/480.5 kB 612.6 kB/s eta 0:00:01\n", + " ---------------------- 297.0/480.5 kB 612.6 kB/s eta 0:00:01\n", + " ---------------------- 297.0/480.5 kB 612.6 kB/s eta 0:00:01\n", + " -------------------------- 348.2/480.5 kB 554.9 kB/s eta 0:00:01\n", + " -------------------------- 348.2/480.5 kB 554.9 kB/s eta 0:00:01\n", + " ---------------------------- 378.9/480.5 kB 472.0 kB/s eta 0:00:01\n", + " ----------------------------- 399.4/480.5 kB 479.2 kB/s eta 0:00:01\n", + " ------------------------------ 409.6/480.5 kB 456.4 kB/s eta 0:00:01\n", + " ----------------------------------- 471.0/480.5 kB 460.8 kB/s eta 0:00:01\n", + " ------------------------------------ 480.5/480.5 kB 436.3 kB/s eta 0:00:00\n", + "Collecting cycler>=0.10 (from matplotlib)\n", + " Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", + "Collecting fonttools>=4.22.0 (from matplotlib)\n", + " Downloading fonttools-4.43.1-cp311-cp311-win_amd64.whl (2.1 MB)\n", + " 0.0/2.1 MB ? eta -:--:--\n", + " - 0.1/2.1 MB 1.3 MB/s eta 0:00:02\n", + " -- 0.1/2.1 MB 1.3 MB/s eta 0:00:02\n", + " --- 0.2/2.1 MB 1.2 MB/s eta 0:00:02\n", + " ---- 0.2/2.1 MB 1.3 MB/s eta 0:00:02\n", + " ---- 0.2/2.1 MB 958.6 kB/s eta 0:00:02\n", + " ----- 0.3/2.1 MB 1.0 MB/s eta 0:00:02\n", + " ----- 0.3/2.1 MB 980.4 kB/s eta 0:00:02\n", + " ------ 0.4/2.1 MB 1.0 MB/s eta 0:00:02\n", + " ------ 0.4/2.1 MB 1.0 MB/s eta 0:00:02\n", + " ------ 0.4/2.1 MB 789.4 kB/s eta 0:00:03\n", + " ------- 0.4/2.1 MB 778.2 kB/s eta 0:00:03\n", + " -------- 0.4/2.1 MB 767.5 kB/s eta 0:00:03\n", + " --------- 0.5/2.1 MB 810.2 kB/s eta 0:00:03\n", + " --------- 0.5/2.1 MB 810.2 kB/s eta 0:00:03\n", + " --------- 0.5/2.1 MB 741.8 kB/s eta 0:00:03\n", + " --------- 0.5/2.1 MB 741.8 kB/s eta 0:00:03\n", + " ----------- 0.6/2.1 MB 772.6 kB/s eta 0:00:02\n", + " ------------ 0.6/2.1 MB 780.9 kB/s eta 0:00:02\n", + " ------------ 0.6/2.1 MB 780.9 kB/s eta 0:00:02\n", + " ------------- 0.7/2.1 MB 755.2 kB/s eta 0:00:02\n", + " -------------- 0.8/2.1 MB 747.5 kB/s eta 0:00:02\n", + " ---------------- 0.9/2.1 MB 797.2 kB/s eta 0:00:02\n", + " ---------------- 0.9/2.1 MB 797.2 kB/s eta 0:00:02\n", + " ---------------- 0.9/2.1 MB 797.2 kB/s eta 0:00:02\n", + " ----------------- 0.9/2.1 MB 747.6 kB/s eta 0:00:02\n", + " ------------------ 1.0/2.1 MB 792.7 kB/s eta 0:00:02\n", + " ------------------- 1.1/2.1 MB 793.6 kB/s eta 0:00:02\n", + " --------------------- 1.1/2.1 MB 759.8 kB/s eta 0:00:02\n", + " --------------------- 1.1/2.1 MB 759.8 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 753.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 753.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 753.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 753.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 753.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 678.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 678.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 678.4 kB/s eta 0:00:02\n", + " ---------------------- 1.2/2.1 MB 678.4 kB/s eta 0:00:02\n", + " ------------------------ 1.3/2.1 MB 655.3 kB/s eta 0:00:02\n", + " ------------------------ 1.3/2.1 MB 650.1 kB/s eta 0:00:02\n", + " ------------------------- 1.4/2.1 MB 645.5 kB/s eta 0:00:02\n", + " -------------------------- 1.4/2.1 MB 650.5 kB/s eta 0:00:02\n", + " -------------------------- 1.4/2.1 MB 655.2 kB/s eta 0:00:02\n", + " --------------------------- 1.5/2.1 MB 669.0 kB/s eta 0:00:01\n", + " --------------------------- 1.5/2.1 MB 669.0 kB/s eta 0:00:01\n", + " ---------------------------- 1.5/2.1 MB 650.8 kB/s eta 0:00:01\n", + " ---------------------------- 1.5/2.1 MB 650.8 kB/s eta 0:00:01\n", + " ---------------------------- 1.5/2.1 MB 650.8 kB/s eta 0:00:01\n", + " ----------------------------- 1.6/2.1 MB 630.4 kB/s eta 0:00:01\n", + " ----------------------------- 1.6/2.1 MB 630.4 kB/s eta 0:00:01\n", + " ----------------------------- 1.6/2.1 MB 619.3 kB/s eta 0:00:01\n", + " ------------------------------ 1.6/2.1 MB 623.4 kB/s eta 0:00:01\n", + " ------------------------------- 1.7/2.1 MB 628.2 kB/s eta 0:00:01\n", + " ------------------------------- 1.7/2.1 MB 628.6 kB/s eta 0:00:01\n", + " ------------------------------- 1.7/2.1 MB 628.6 kB/s eta 0:00:01\n", + " -------------------------------- 1.8/2.1 MB 622.4 kB/s eta 0:00:01\n", + " -------------------------------- 1.8/2.1 MB 615.7 kB/s eta 0:00:01\n", + " ---------------------------------- 1.8/2.1 MB 627.0 kB/s eta 0:00:01\n", + " ---------------------------------- 1.9/2.1 MB 637.6 kB/s eta 0:00:01\n", + " ---------------------------------- 1.9/2.1 MB 637.6 kB/s eta 0:00:01\n", + " ---------------------------------- 1.9/2.1 MB 621.2 kB/s eta 0:00:01\n", + " ------------------------------------ 1.9/2.1 MB 622.2 kB/s eta 0:00:01\n", + " ------------------------------------ 2.0/2.1 MB 635.4 kB/s eta 0:00:01\n", + " ------------------------------------ 2.0/2.1 MB 635.4 kB/s eta 0:00:01\n", + " -------------------------------------- 2.1/2.1 MB 627.1 kB/s eta 0:00:01\n", + " --------------------------------------- 2.1/2.1 MB 627.4 kB/s eta 0:00:01\n", + " --------------------------------------- 2.1/2.1 MB 636.9 kB/s eta 0:00:01\n", + " --------------------------------------- 2.1/2.1 MB 636.9 kB/s eta 0:00:01\n", + " --------------------------------------- 2.1/2.1 MB 636.9 kB/s eta 0:00:01\n", + " --------------------------------------- 2.1/2.1 MB 636.9 kB/s eta 0:00:01\n", + " --------------------------------------- 2.1/2.1 MB 636.9 kB/s eta 0:00:01\n", + " ---------------------------------------- 2.1/2.1 MB 598.4 kB/s eta 0:00:00\n", + "Collecting kiwisolver>=1.0.1 (from matplotlib)\n", + " Downloading kiwisolver-1.4.5-cp311-cp311-win_amd64.whl (56 kB)\n", + " 0.0/56.1 kB ? eta -:--:--\n", + " ---------------------------------- 51.2/56.1 kB 871.5 kB/s eta 0:00:01\n", + " -------------------------------------- 56.1/56.1 kB 588.2 kB/s eta 0:00:00\n", + "Requirement already satisfied: numpy<2,>=1.21 in c:\\users\\taian\\appdata\\local\\programs\\python\\python311\\lib\\site-packages (from matplotlib) (1.26.0)\n", + "Requirement already satisfied: packaging>=20.0 in c:\\users\\taian\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib) (23.2)\n", + "Collecting pillow>=6.2.0 (from matplotlib)\n", + " Downloading Pillow-10.1.0-cp311-cp311-win_amd64.whl (2.6 MB)\n", + " 0.0/2.6 MB ? eta -:--:--\n", + " 0.0/2.6 MB ? eta -:--:--\n", + " 0.1/2.6 MB 1.1 MB/s eta 0:00:03\n", + " 0.1/2.6 MB 1.1 MB/s eta 0:00:03\n", + " - 0.1/2.6 MB 798.9 kB/s eta 0:00:04\n", + " -- 0.2/2.6 MB 756.6 kB/s eta 0:00:04\n", + " -- 0.2/2.6 MB 737.3 kB/s eta 0:00:04\n", + " --- 0.3/2.6 MB 827.5 kB/s eta 0:00:03\n", + " ----- 0.3/2.6 MB 967.8 kB/s eta 0:00:03\n", + " ----- 0.4/2.6 MB 1.1 MB/s eta 0:00:03\n", + " ------ 0.4/2.6 MB 935.2 kB/s eta 0:00:03\n", + " ------ 0.4/2.6 MB 935.2 kB/s eta 0:00:03\n", + " ------ 0.4/2.6 MB 935.2 kB/s eta 0:00:03\n", + " ------- 0.5/2.6 MB 832.7 kB/s eta 0:00:03\n", + " -------- 0.5/2.6 MB 819.2 kB/s eta 0:00:03\n", + " -------- 0.5/2.6 MB 796.1 kB/s eta 0:00:03\n", + " --------- 0.6/2.6 MB 840.3 kB/s eta 0:00:03\n", + " ---------- 0.7/2.6 MB 909.0 kB/s eta 0:00:03\n", + " ----------- 0.7/2.6 MB 881.7 kB/s eta 0:00:03\n", + " ----------- 0.7/2.6 MB 857.3 kB/s eta 0:00:03\n", + " ------------- 0.8/2.6 MB 926.8 kB/s eta 0:00:02\n", + " ------------- 0.8/2.6 MB 926.8 kB/s eta 0:00:02\n", + " -------------- 0.9/2.6 MB 925.2 kB/s eta 0:00:02\n", + " ---------------- 1.0/2.6 MB 1.0 MB/s eta 0:00:02\n", + " ---------------- 1.1/2.6 MB 992.2 kB/s eta 0:00:02\n", + " ---------------- 1.1/2.6 MB 992.2 kB/s eta 0:00:02\n", + " ---------------- 1.1/2.6 MB 926.1 kB/s eta 0:00:02\n", + " ----------------- 1.2/2.6 MB 953.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 938.3 kB/s eta 0:00:02\n", + " -------------------- 1.3/2.6 MB 979.3 kB/s eta 0:00:02\n", + " -------------------- 1.3/2.6 MB 971.3 kB/s eta 0:00:02\n", + " -------------------- 1.4/2.6 MB 954.1 kB/s eta 0:00:02\n", + " --------------------- 1.4/2.6 MB 965.5 kB/s eta 0:00:02\n", + " ---------------------- 1.5/2.6 MB 979.4 kB/s eta 0:00:02\n", + " ----------------------- 1.5/2.6 MB 976.2 kB/s eta 0:00:02\n", + " ------------------------ 1.6/2.6 MB 1.0 MB/s eta 0:00:01\n", + " -------------------------- 1.7/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ----------------------------- 1.9/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ------------------------------ 2.0/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ------------------------------- 2.0/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ------------------------------- 2.0/2.6 MB 1.1 MB/s eta 0:00:01\n", + " -------------------------------- 2.1/2.6 MB 1.1 MB/s eta 0:00:01\n", + " --------------------------------- 2.2/2.6 MB 1.1 MB/s eta 0:00:01\n", + " --------------------------------- 2.2/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ---------------------------------- 2.2/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ----------------------------------- 2.3/2.6 MB 1.1 MB/s eta 0:00:01\n", + " ------------------------------------- 2.4/2.6 MB 1.1 MB/s eta 0:00:01\n", + " -------------------------------------- 2.5/2.6 MB 1.1 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 1.2 MB/s eta 0:00:01\n", + " ---------------------------------------- 2.6/2.6 MB 1.0 MB/s eta 0:00:00\n", + "Collecting pyparsing>=2.3.1 (from matplotlib)\n", + " Downloading pyparsing-3.1.1-py3-none-any.whl (103 kB)\n", + " 0.0/103.1 kB ? eta -:--:--\n", + " ------------------------------------- 102.4/103.1 kB 2.9 MB/s eta 0:00:01\n", + " -------------------------------------- 103.1/103.1 kB 1.5 MB/s eta 0:00:00\n", + "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\taian\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib) (2.8.2)\n", + "Requirement already satisfied: six>=1.5 in c:\\users\\taian\\appdata\\roaming\\python\\python311\\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n", + "Installing collected packages: pyparsing, pillow, kiwisolver, fonttools, cycler, contourpy, matplotlib\n", + "Successfully installed contourpy-1.1.1 cycler-0.12.1 fonttools-4.43.1 kiwisolver-1.4.5 matplotlib-3.8.0 pillow-10.1.0 pyparsing-3.1.1\n", + "Collecting matplotlib\n", + " Using cached matplotlib-3.8.0-cp311-cp311-win_amd64.whl (7.6 MB)\n", + "Collecting contourpy>=1.0.1 (from matplotlib)\n", + " Using cached contourpy-1.1.1-cp311-cp311-win_amd64.whl (480 kB)\n", + "Collecting cycler>=0.10 (from matplotlib)\n", + " Using cached cycler-0.12.1-py3-none-any.whl (8.3 kB)\n", + "Collecting fonttools>=4.22.0 (from matplotlib)\n", + " Using cached fonttools-4.43.1-cp311-cp311-win_amd64.whl (2.1 MB)\n", + "Collecting kiwisolver>=1.0.1 (from matplotlib)\n", + " Using cached kiwisolver-1.4.5-cp311-cp311-win_amd64.whl (56 kB)\n", + "Requirement already satisfied: numpy<2,>=1.21 in c:\\users\\taian\\appdata\\local\\programs\\python\\python311\\lib\\site-packages (from matplotlib) (1.26.0)\n", + "Requirement already satisfied: packaging>=20.0 in c:\\users\\taian\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib) (23.2)\n", + "Collecting pillow>=6.2.0 (from matplotlib)\n", + " Downloading Pillow-10.1.0-cp311-cp311-win_amd64.whl (2.6 MB)\n", + " 0.0/2.6 MB ? eta -:--:--\n", + " 0.0/2.6 MB 1.9 MB/s eta 0:00:02\n", + " 0.0/2.6 MB 1.9 MB/s eta 0:00:02\n", + " 0.1/2.6 MB 544.7 kB/s eta 0:00:05\n", + " - 0.1/2.6 MB 476.3 kB/s eta 0:00:06\n", + " - 0.1/2.6 MB 504.4 kB/s eta 0:00:05\n", + " -- 0.1/2.6 MB 566.5 kB/s eta 0:00:05\n", + " -- 0.2/2.6 MB 588.9 kB/s eta 0:00:05\n", + " ---- 0.3/2.6 MB 768.0 kB/s eta 0:00:04\n", + " ---- 0.3/2.6 MB 819.2 kB/s eta 0:00:03\n", + " ----- 0.4/2.6 MB 836.4 kB/s eta 0:00:03\n", + " ------ 0.4/2.6 MB 778.2 kB/s eta 0:00:03\n", + " ------ 0.5/2.6 MB 829.2 kB/s eta 0:00:03\n", + " -------- 0.5/2.6 MB 927.6 kB/s eta 0:00:03\n", + " -------- 0.5/2.6 MB 927.6 kB/s eta 0:00:03\n", + " -------- 0.5/2.6 MB 927.6 kB/s eta 0:00:03\n", + " -------- 0.5/2.6 MB 927.6 kB/s eta 0:00:03\n", + " -------- 0.6/2.6 MB 721.1 kB/s eta 0:00:03\n", + " --------- 0.6/2.6 MB 766.8 kB/s eta 0:00:03\n", + " ----------- 0.7/2.6 MB 833.5 kB/s eta 0:00:03\n", + " ------------ 0.8/2.6 MB 915.5 kB/s eta 0:00:02\n", + " ------------- 0.9/2.6 MB 891.8 kB/s eta 0:00:02\n", + " ------------- 0.9/2.6 MB 880.6 kB/s eta 0:00:02\n", + " -------------- 0.9/2.6 MB 857.3 kB/s eta 0:00:02\n", + " -------------- 1.0/2.6 MB 867.2 kB/s eta 0:00:02\n", + " --------------- 1.0/2.6 MB 850.4 kB/s eta 0:00:02\n", + " --------------- 1.0/2.6 MB 844.7 kB/s eta 0:00:02\n", + " --------------- 1.0/2.6 MB 844.7 kB/s eta 0:00:02\n", + " ---------------- 1.0/2.6 MB 807.4 kB/s eta 0:00:02\n", + " ---------------- 1.1/2.6 MB 807.6 kB/s eta 0:00:02\n", + " ----------------- 1.1/2.6 MB 802.4 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " ------------------ 1.2/2.6 MB 835.3 kB/s eta 0:00:02\n", + " --------------------- 1.4/2.6 MB 495.2 kB/s eta 0:00:03\n", + " ----------------------- 1.5/2.6 MB 531.5 kB/s eta 0:00:03\n", + " ----------------------- 1.5/2.6 MB 532.9 kB/s eta 0:00:03\n", + " ----------------------- 1.5/2.6 MB 532.9 kB/s eta 0:00:03\n", + " ----------------------- 1.5/2.6 MB 516.7 kB/s eta 0:00:03\n", + " ------------------------ 1.6/2.6 MB 521.4 kB/s eta 0:00:02\n", + " ------------------------ 1.6/2.6 MB 522.9 kB/s eta 0:00:02\n", + " ------------------------ 1.6/2.6 MB 522.9 kB/s eta 0:00:02\n", + " ------------------------ 1.6/2.6 MB 504.3 kB/s eta 0:00:02\n", + " ------------------------- 1.6/2.6 MB 504.1 kB/s eta 0:00:02\n", + " ------------------------- 1.6/2.6 MB 504.1 kB/s eta 0:00:02\n", + " -------------------------- 1.7/2.6 MB 506.7 kB/s eta 0:00:02\n", + " -------------------------- 1.8/2.6 MB 504.1 kB/s eta 0:00:02\n", + " --------------------------- 1.8/2.6 MB 506.1 kB/s eta 0:00:02\n", + " --------------------------- 1.8/2.6 MB 510.4 kB/s eta 0:00:02\n", + " ---------------------------- 1.9/2.6 MB 515.7 kB/s eta 0:00:02\n", + " ----------------------------- 1.9/2.6 MB 520.3 kB/s eta 0:00:02\n", + " ----------------------------- 1.9/2.6 MB 529.4 kB/s eta 0:00:02\n", + " ------------------------------ 2.0/2.6 MB 529.1 kB/s eta 0:00:02\n", + " ------------------------------ 2.0/2.6 MB 528.1 kB/s eta 0:00:02\n", + " -------------------------------- 2.1/2.6 MB 548.4 kB/s eta 0:00:01\n", + " --------------------------------- 2.2/2.6 MB 550.5 kB/s eta 0:00:01\n", + " ---------------------------------- 2.2/2.6 MB 559.5 kB/s eta 0:00:01\n", + " ----------------------------------- 2.3/2.6 MB 568.6 kB/s eta 0:00:01\n", + " ----------------------------------- 2.3/2.6 MB 569.0 kB/s eta 0:00:01\n", + " ----------------------------------- 2.3/2.6 MB 570.0 kB/s eta 0:00:01\n", + " ------------------------------------ 2.4/2.6 MB 571.2 kB/s eta 0:00:01\n", + " ------------------------------------- 2.4/2.6 MB 581.9 kB/s eta 0:00:01\n", + " -------------------------------------- 2.5/2.6 MB 592.7 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 598.1 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 598.1 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " --------------------------------------- 2.6/2.6 MB 594.2 kB/s eta 0:00:01\n", + " ---------------------------------------- 2.6/2.6 MB 547.1 kB/s eta 0:00:00\n", + "Collecting pyparsing>=2.3.1 (from matplotlib)\n", + " Using cached pyparsing-3.1.1-py3-none-any.whl (103 kB)\n", + "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\taian\\appdata\\roaming\\python\\python311\\site-packages (from matplotlib) (2.8.2)\n", + "Requirement already satisfied: six>=1.5 in c:\\users\\taian\\appdata\\roaming\\python\\python311\\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n", + "Installing collected packages: pyparsing, pillow, kiwisolver, fonttools, cycler, contourpy, matplotlib\n", + "Successfully installed contourpy-1.1.1 cycler-0.12.1 fonttools-4.43.1 kiwisolver-1.4.5 matplotlib-3.8.0 pillow-10.1.0 pyparsing-3.1.1\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n", + "[notice] A new release of pip is available: 23.1.2 -> 23.3.1\n", + "[notice] To update, run: python.exe -m pip install --upgrade pip\n" + ] + } + ], + "source": [ + "!pip install matplotlib" + ] + }, + { + "cell_type": "code", + "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -572,7 +3692,35 @@ "id": "KS8389rdXMEu", "outputId": "386b4ea1-0ef0-4e2a-891a-e1ea0dee0ed5" }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Matplotlib is building the font cache; this may take a moment.\n" + ] + }, + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "#exemplo mais simples de gráfico:\n", "\n", @@ -596,12 +3744,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": { "id": "bmZg5LjvS_nJ", "outputId": "f3874a08-9ec1-4235-8db1-2250deeb54ea" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGrCAYAAADqwWxuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAf+klEQVR4nO3dfXBU5d2H8e+GkCBJdmMobMiQiFQoREA0VFi1PoqRGCOixKoMA1RRp3GhhShiRkRFKxZbUZSXjqOgrRRLLVZR3gyIo4S3UGwAQUQ06eAmKJMsUNmEZJ8/HE6bgi9LAvtLcn1mzgx77nuz99GVXO6e3eMKh8NhAQAAGBIT7QUAAAD8LwIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMCc22gs4FQ0NDdq/f7+SkpLkcrmivRwAAPADhMNhHTp0SGlpaYqJ+e7XSFpkoOzfv1/p6enRXgYAADgFFRUV6tat23fOaZGBkpSUJOmbA3S73VFeDQAA+CGCwaDS09Od3+PfpUUGyvG3ddxuN4ECAEAL80NOz+AkWQAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmRBQoDz/8sFwuV6Otd+/ezvjRo0fl9/vVqVMnJSYmKj8/X5WVlY1+Rnl5ufLy8tSxY0d16dJFkydP1rFjx5rnaAAAQKsQ8ceMzz//fL3zzjv/+QGx//kRkyZN0ltvvaUlS5bI4/Fo/PjxGjFihD744ANJUn19vfLy8pSamqr169friy++0JgxY9S+fXs9/vjjzXA4AACgNYg4UGJjY5WamnrC/pqaGr3wwgtatGiRhgwZIklasGCB+vTpow0bNmjw4MFatWqVdu7cqXfeeUder1cDBgzQo48+qilTpujhhx9WXFzcSR8zFAopFAo5t4PBYKTLBgAALUjE56Ds2bNHaWlp6tGjh0aNGqXy8nJJUmlpqerq6pSdne3M7d27tzIyMlRSUiJJKikpUb9+/eT1ep05OTk5CgaD2rFjx7c+5owZM+TxeJyNr7kHAKB1iyhQBg0apIULF2rFihWaN2+e9u3bp5/97Gc6dOiQAoGA4uLilJyc3Og+Xq9XgUBAkhQIBBrFyfHx42PfpqioSDU1Nc5WUVERybIBAEALE9FbPLm5uc6f+/fvr0GDBumcc87RX/7yF5111lnNvrjj4uPjFR8ff9p+PgAAsKVJHzNOTk5Wr1699Mknnyg1NVW1tbWqrq5uNKeystI5ZyU1NfWET/Ucv32y81oAAEDb1KRAOXz4sPbu3auuXbsqKytL7du3V3FxsTO+e/dulZeXy+fzSZJ8Pp/KyspUVVXlzFm9erXcbrcyMzObshQAANCKRPQWz7333qthw4bpnHPO0f79+/XQQw+pXbt2GjlypDwej8aNG6fCwkKlpKTI7XZrwoQJ8vl8Gjx4sCRp6NChyszM1OjRozVz5kwFAgFNnTpVfr+ft3AAAIAjokD517/+pZEjR+qrr75S586dddlll2nDhg3q3LmzJGnWrFmKiYlRfn6+QqGQcnJyNHfuXOf+7dq107Jly1RQUCCfz6eEhASNHTtW06dPb96jAgAALZorHA6Ho72ISAWDQXk8HtXU1Mjtdkd7Od+q+/1vRXsJrcZnT+RFewkAgCaK5Pc31+IBAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHOaFChPPPGEXC6XJk6c6Ow7evSo/H6/OnXqpMTEROXn56uysrLR/crLy5WXl6eOHTuqS5cumjx5so4dO9aUpQAAgFbklANl8+bN+sMf/qD+/fs32j9p0iS9+eabWrJkidatW6f9+/drxIgRznh9fb3y8vJUW1ur9evX66WXXtLChQs1bdq0Uz8KAADQqpxSoBw+fFijRo3S888/r7PPPtvZX1NToxdeeEFPPfWUhgwZoqysLC1YsEDr16/Xhg0bJEmrVq3Szp079ac//UkDBgxQbm6uHn30Uc2ZM0e1tbXNc1QAAKBFO6VA8fv9ysvLU3Z2dqP9paWlqqura7S/d+/eysjIUElJiSSppKRE/fr1k9frdebk5OQoGAxqx44dJ328UCikYDDYaAMAAK1XbKR3WLx4sbZu3arNmzefMBYIBBQXF6fk5ORG+71erwKBgDPnv+Pk+PjxsZOZMWOGHnnkkUiXCgAAWqiIXkGpqKjQr3/9a73yyivq0KHD6VrTCYqKilRTU+NsFRUVZ+yxAQDAmRdRoJSWlqqqqkoXXXSRYmNjFRsbq3Xr1mn27NmKjY2V1+tVbW2tqqurG92vsrJSqampkqTU1NQTPtVz/PbxOf8rPj5ebre70QYAAFqviALlqquuUllZmbZt2+ZsAwcO1KhRo5w/t2/fXsXFxc59du/erfLycvl8PkmSz+dTWVmZqqqqnDmrV6+W2+1WZmZmMx0WAABoySI6ByUpKUl9+/ZttC8hIUGdOnVy9o8bN06FhYVKSUmR2+3WhAkT5PP5NHjwYEnS0KFDlZmZqdGjR2vmzJkKBAKaOnWq/H6/4uPjm+mwAABASxbxSbLfZ9asWYqJiVF+fr5CoZBycnI0d+5cZ7xdu3ZatmyZCgoK5PP5lJCQoLFjx2r69OnNvRQAANBCucLhcDjai4hUMBiUx+NRTU2N6fNRut//VrSX0Gp89kRetJcAAGiiSH5/cy0eAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOZEFCjz5s1T//795Xa75Xa75fP5tHz5cmf86NGj8vv96tSpkxITE5Wfn6/KyspGP6O8vFx5eXnq2LGjunTposmTJ+vYsWPNczQAAKBViChQunXrpieeeEKlpaXasmWLhgwZouHDh2vHjh2SpEmTJunNN9/UkiVLtG7dOu3fv18jRoxw7l9fX6+8vDzV1tZq/fr1eumll7Rw4UJNmzateY8KAAC0aK5wOBxuyg9ISUnRk08+qZtuukmdO3fWokWLdNNNN0mSdu3apT59+qikpESDBw/W8uXLdd1112n//v3yer2SpPnz52vKlCk6cOCA4uLiftBjBoNBeTwe1dTUyO12N2X5p1X3+9+K9hJajc+eyIv2EgAATRTJ7+9TPgelvr5eixcv1pEjR+Tz+VRaWqq6ujplZ2c7c3r37q2MjAyVlJRIkkpKStSvXz8nTiQpJydHwWDQeRXmZEKhkILBYKMNAAC0XhEHSllZmRITExUfH69f/vKXWrp0qTIzMxUIBBQXF6fk5ORG871erwKBgCQpEAg0ipPj48fHvs2MGTPk8XicLT09PdJlAwCAFiTiQPnJT36ibdu2aePGjSooKNDYsWO1c+fO07E2R1FRkWpqapytoqLitD4eAACIrthI7xAXF6fzzjtPkpSVlaXNmzfrmWee0S233KLa2lpVV1c3ehWlsrJSqampkqTU1FRt2rSp0c87/imf43NOJj4+XvHx8ZEuFQAAtFBN/h6UhoYGhUIhZWVlqX379iouLnbGdu/erfLycvl8PkmSz+dTWVmZqqqqnDmrV6+W2+1WZmZmU5cCAABaiYheQSkqKlJubq4yMjJ06NAhLVq0SO+++65Wrlwpj8ejcePGqbCwUCkpKXK73ZowYYJ8Pp8GDx4sSRo6dKgyMzM1evRozZw5U4FAQFOnTpXf7+cVEgAA4IgoUKqqqjRmzBh98cUX8ng86t+/v1auXKmrr75akjRr1izFxMQoPz9foVBIOTk5mjt3rnP/du3aadmyZSooKJDP51NCQoLGjh2r6dOnN+9RAQCAFq3J34MSDXwPStvD96AAQMt3Rr4HBQAA4HQhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAnNhoLwDAmdX9/reivYRW4bMn8qK9BKBV4xUUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmBNRoMyYMUM//elPlZSUpC5duuiGG27Q7t27G805evSo/H6/OnXqpMTEROXn56uysrLRnPLycuXl5aljx47q0qWLJk+erGPHjjX9aAAAQKsQUaCsW7dOfr9fGzZs0OrVq1VXV6ehQ4fqyJEjzpxJkybpzTff1JIlS7Ru3Trt379fI0aMcMbr6+uVl5en2tparV+/Xi+99JIWLlyoadOmNd9RAQCAFs0VDofDp3rnAwcOqEuXLlq3bp0uv/xy1dTUqHPnzlq0aJFuuukmSdKuXbvUp08flZSUaPDgwVq+fLmuu+467d+/X16vV5I0f/58TZkyRQcOHFBcXNwJjxMKhRQKhZzbwWBQ6enpqqmpkdvtPtXln3Z8Y2fz4Vs7mw/Py+bBcxKIXDAYlMfj+UG/v5t0DkpNTY0kKSUlRZJUWlqquro6ZWdnO3N69+6tjIwMlZSUSJJKSkrUr18/J04kKScnR8FgUDt27Djp48yYMUMej8fZ0tPTm7JsAABg3CkHSkNDgyZOnKhLL71Uffv2lSQFAgHFxcUpOTm50Vyv16tAIODM+e84OT5+fOxkioqKVFNT42wVFRWnumwAANACnPLFAv1+v7Zv367333+/OddzUvHx8YqPjz/tjwMAAGw4pVdQxo8fr2XLlmnt2rXq1q2bsz81NVW1tbWqrq5uNL+yslKpqanOnP/9VM/x28fnAACAti2iQAmHwxo/fryWLl2qNWvW6Nxzz200npWVpfbt26u4uNjZt3v3bpWXl8vn80mSfD6fysrKVFVV5cxZvXq13G63MjMzm3IsAACglYjoLR6/369Fixbp73//u5KSkpxzRjwej8466yx5PB6NGzdOhYWFSklJkdvt1oQJE+Tz+TR48GBJ0tChQ5WZmanRo0dr5syZCgQCmjp1qvx+P2/jAAAASREGyrx58yRJV1xxRaP9CxYs0C9+8QtJ0qxZsxQTE6P8/HyFQiHl5ORo7ty5ztx27dpp2bJlKigokM/nU0JCgsaOHavp06c37UgAAECrEVGg/JCvTOnQoYPmzJmjOXPmfOucc845R2+//XYkDw0AANoQrsUDAADMIVAAAIA5BAoAADCHQAEAAOac8jfJAgDQHLiAZfNpTRex5BUUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmBNxoLz33nsaNmyY0tLS5HK59PrrrzcaD4fDmjZtmrp27aqzzjpL2dnZ2rNnT6M5Bw8e1KhRo+R2u5WcnKxx48bp8OHDTToQAADQekQcKEeOHNEFF1ygOXPmnHR85syZmj17tubPn6+NGzcqISFBOTk5Onr0qDNn1KhR2rFjh1avXq1ly5bpvffe01133XXqRwEAAFqV2EjvkJubq9zc3JOOhcNhPf3005o6daqGDx8uSXr55Zfl9Xr1+uuv69Zbb9VHH32kFStWaPPmzRo4cKAk6dlnn9W1116r3/3ud0pLS2vC4QAAgNagWc9B2bdvnwKBgLKzs519Ho9HgwYNUklJiSSppKREycnJTpxIUnZ2tmJiYrRx48aT/txQKKRgMNhoAwAArVezBkogEJAkeb3eRvu9Xq8zFggE1KVLl0bjsbGxSklJceb8rxkzZsjj8Thbenp6cy4bAAAY0yI+xVNUVKSamhpnq6ioiPaSAADAadSsgZKamipJqqysbLS/srLSGUtNTVVVVVWj8WPHjungwYPOnP8VHx8vt9vdaAMAAK1XswbKueeeq9TUVBUXFzv7gsGgNm7cKJ/PJ0ny+Xyqrq5WaWmpM2fNmjVqaGjQoEGDmnM5AACghYr4UzyHDx/WJ5984tzet2+ftm3bppSUFGVkZGjixIl67LHH1LNnT5177rl68MEHlZaWphtuuEGS1KdPH11zzTW68847NX/+fNXV1Wn8+PG69dZb+QQPAACQdAqBsmXLFl155ZXO7cLCQknS2LFjtXDhQt133306cuSI7rrrLlVXV+uyyy7TihUr1KFDB+c+r7zyisaPH6+rrrpKMTExys/P1+zZs5vhcAAAQGsQcaBcccUVCofD3zrucrk0ffp0TZ8+/VvnpKSkaNGiRZE+NAAAaCNaxKd4AABA20KgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5UQ2UOXPmqHv37urQoYMGDRqkTZs2RXM5AADAiKgFyquvvqrCwkI99NBD2rp1qy644ALl5OSoqqoqWksCAABGRC1QnnrqKd1555267bbblJmZqfnz56tjx4568cUXo7UkAABgRGw0HrS2tlalpaUqKipy9sXExCg7O1slJSUnzA+FQgqFQs7tmpoaSVIwGDz9i22ChtC/o72EVsP6v+uWhOdl8+A52Xx4TjYf68/L4+sLh8PfOzcqgfLll1+qvr5eXq+30X6v16tdu3adMH/GjBl65JFHTtifnp5+2tYIWzxPR3sFQGM8J2FRS3leHjp0SB6P5zvnRCVQIlVUVKTCwkLndkNDgw4ePKhOnTrJ5XJFcWUtXzAYVHp6uioqKuR2u6O9HIDnJMzhOdl8wuGwDh06pLS0tO+dG5VA+dGPfqR27dqpsrKy0f7KykqlpqaeMD8+Pl7x8fGN9iUnJ5/OJbY5breb//BgCs9JWMNzsnl83ysnx0XlJNm4uDhlZWWpuLjY2dfQ0KDi4mL5fL5oLAkAABgStbd4CgsLNXbsWA0cOFAXX3yxnn76aR05ckS33XZbtJYEAACMiFqg3HLLLTpw4ICmTZumQCCgAQMGaMWKFSecOIvTKz4+Xg899NAJb6EB0cJzEtbwnIwOV/iHfNYHAADgDOJaPAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BEob89FHH2nBggXORRl37dqlgoIC3X777VqzZk2UVwecqKKiQrfffnu0l4E25Ouvv9b777+vnTt3njB29OhRvfzyy1FYVdvD96C0IStWrNDw4cOVmJiof//731q6dKnGjBmjCy64QA0NDVq3bp1WrVqlIUOGRHupgOPDDz/URRddpPr6+mgvBW3Axx9/rKFDh6q8vFwul0uXXXaZFi9erK5du0r65ppxaWlpPB/PAAKlDbnkkks0ZMgQPfbYY1q8eLHuvvtuFRQU6De/+Y2kb64aXVpaqlWrVkV5pWhL3njjje8c//TTT3XPPffwCwFnxI033qi6ujotXLhQ1dXVmjhxonbu3Kl3331XGRkZBMoZRKC0IR6PR6WlpTrvvPPU0NCg+Ph4bdq0SRdeeKEkafv27crOzlYgEIjyStGWxMTEyOVy6bv+KnK5XPxCwBnh9Xr1zjvvqF+/fpKkcDisu+++W2+//bbWrl2rhIQEAuUM4RyUNsblckn65pdChw4dGl32OikpSTU1NdFaGtqorl276m9/+5saGhpOum3dujXaS0Qb8vXXXys29j+XqXO5XJo3b56GDRum//u//9PHH38cxdW1LQRKG9K9e3ft2bPHuV1SUqKMjAzndnl5ufM+K3CmZGVlqbS09FvHv+/VFaA59e7dW1u2bDlh/3PPPafhw4fr+uuvj8Kq2iYCpQ0pKCho9LJk3759G/2fwvLlyzlBFmfc5MmTdckll3zr+Hnnnae1a9eewRWhLbvxxhv15z//+aRjzz33nEaOHEkwnyGcgwIAAMzhFRQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAXDauVwuvf7669FeBoAWhEAB0GSBQEATJkxQjx49FB8fr/T0dA0bNkzFxcXRXhqAFir2+6cAwLf77LPPdOmllyo5OVlPPvmk+vXrp7q6Oq1cuVJ+v9+5cjYARIJXUAA0yd133y2Xy6VNmzYpPz9fvXr10vnnn6/CwkJt2LDhpPeZMmWKevXqpY4dO6pHjx568MEHVVdX54x/+OGHuvLKK5WUlCS3262srCzn2z0///xzDRs2TGeffbYSEhJ0/vnn6+2333buu337duXm5ioxMVFer1ejR4/Wl19+eXr/IQBodgQKgFN28OBBrVixQn6/XwkJCSeMJycnn/R+SUlJWrhwoXbu3KlnnnlGzz//vGbNmuWMjxo1St26ddPmzZtVWlqq+++/X+3bt5ck+f1+hUIhvffeeyorK9Nvf/tbJSYmSpKqq6s1ZMgQXXjhhdqyZYtWrFihyspK3Xzzzc1/8ABOK97iAXDKPvnkE4XDYfXu3Tui+02dOtX5c/fu3XXvvfdq8eLFuu+++yR9c12oyZMnOz+3Z8+ezvzy8nLl5+c7V5vt0aOHM/bcc8/pwgsv1OOPP+7se/HFF5Wenq6PP/5YvXr1ivwgAUQFgQLglJ3qlTJeffVVzZ49W3v37tXhw4d17Ngxud1uZ7ywsFB33HGH/vjHPyo7O1s///nP9eMf/1iS9Ktf/UoFBQVatWqVsrOzlZ+fr/79+0v65q2htWvXOq+o/Le9e/cSKEALwls8AE5Zz5495XK5IjoRtqSkRKNGjdK1116rZcuW6R//+IceeOAB1dbWOnMefvhh7dixQ3l5eVqzZo0yMzO1dOlSSdIdd9yhTz/9VKNHj1ZZWZkGDhyoZ599VpJ0+PBhDRs2TNu2bWu07dmzR5dffnnzHjyA04qLBQJoktzcXJWVlWn37t0nnIdSXV2t5ORkuVwuLV26VDfccIN+//vfa+7cudq7d68z74477tBf//pXVVdXn/QxRo4cqSNHjuiNN944YayoqEhvvfWW/vnPf+qBBx7Qa6+9pu3btze6UjeAlodXUAA0yZw5c1RfX6+LL75Yr732mvbs2aOPPvpIs2fPls/nO2F+z549VV5ersWLF2vv3r2aPXu28+qIJH399dcaP3683n33XX3++ef64IMPtHnzZvXp00eSNHHiRK1cuVL79u3T1q1btXbtWmfM7/fr4MGDGjlypDZv3qy9e/dq5cqVuu2221RfX39m/oEAaBYECoAm6dGjh7Zu3aorr7xS99xzj/r27aurr75axcXFmjdv3gnzr7/+ek2aNEnjx4/XgAEDtH79ej344IPOeLt27fTVV19pzJgx6tWrl26++Wbl5ubqkUcekSTV19fL7/erT58+uuaaa9SrVy/NnTtXkpSWlqYPPvhA9fX1Gjp0qPr166eJEycqOTlZMTH8dQe0JLzFAwAAzOF/KQAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5vw/JL99XVRsUvoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Criação de um gráfico de barras: matplotlib + Pandas\n", "# plot() + bar\n", @@ -614,12 +3783,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": { "id": "zpZmI2e9S_nJ", "outputId": "3f16a4f4-3039-4426-ac46-d0f8178d87a6" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Número de Passageiros por Classe')" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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9NNPa/fu3apZs6Zee+01ffzxx84+9erVU7169fTiiy9q5syZ6tixoz799FN1795dc+bMkY+Pj5YsWSK73e6cZtq0aS7LKVOmjLKysrR3716Xsx+//fabS7+QkBAFBAQoMzMzX7dRmTJltHz5cp06dcrl7M6OHTuc7Zd4eHioSZMmatKkicaPH6+XXnpJzz//vFatWvWPNe3evTvbuF27dqlw4cIKCQmRpOs61q4mLi5On3zyiT7++GMNHjz4mqfP7b6UcreN/Pz81L59e7Vv314ZGRl66KGH9OKLL2rw4ME3bD+jYOIyFm5pFSpU0OOPP64pU6a4XP6Q/jqlXqxYsWyP3U6aNCnf63jkkUd04MABTZ06NVvbuXPnrvoEi/TX2aNmzZrpyy+/dHnsOiUlRTNnzlSDBg3kcDiuOH2LFi108eJFvfPOO85xmZmZ2V68WLx4cd13332aMmVKjvc6HTly5Kp15salMw9/P/NljNEbb7zh0u/s2bM6f/68y7gKFSooICDAeZnqxIkT2R7LrlmzpiQ5+xQqVEg2m83ljN2+ffuyPQF36UzW5fv/8m1UqFAhxcfHa86cOfrll1+yrV9et1GLFi2UmZmpt99+22X8hAkTZLPZnO8nOn78eLZpL1/nq0lMTHS512T//v368ssv1axZMxUqVOi6j7WradeunapXr64XX3xRiYmJ2dpPnTql559//orT53Zf5mYbHTt2zKXd29tbUVFRMsbowoULN2w/o2DizA5uec8//7w++ugj7dy5U1WrVnVp6969u8aOHavu3burdu3aWrNmzQ15e2unTp00a9Ys/fvf/9aqVatUv359ZWZmaseOHZo1a5aWLFmi2rVrX3Ueo0ePdr47pFevXvL09NSUKVOUnp6ucePGXXXauLg41a9fX4MGDdK+ffsUFRWluXPnutzncMnEiRPVoEEDVa9eXT169FD58uWVkpKixMRE/fnnn9qyZct1bYsqVaqoQoUKeuaZZ3TgwAE5HA7NmTMn203Iu3btUpMmTfTII48oKipKnp6emjdvnlJSUvToo49Kkj744ANNmjRJbdu2VYUKFXTq1ClNnTpVDodDLVq0kCTFxsZq/PjxevDBB/XYY4/p8OHDmjhxou644w79/PPPzuXVqlVL8fHxev3113Xs2DHno+eXjoe/n5EbO3asVq1apbp166pHjx6K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b4QdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaQUm7IwdO1Y2m039+vVzjjt//rwSEhJUtGhR+fv7Kz4+XikpKS7TJSUlKTY2VoULF1bx4sU1cOBAXbx48SZXDwAACqoCEXY2bNigKVOmqEaNGi7j+/fvr6+++kqzZ8/W6tWrdfDgQT300EPO9szMTMXGxiojI0Pff/+9PvjgA02fPl1Dhw692asAAAAKKLeHndOnT6tjx46aOnWqihQp4hyfmpqq999/X+PHj1fjxo1Vq1YtTZs2Td9//73WrVsnSVq6dKl+/fVXffzxx6pZs6aaN2+uUaNGaeLEicrIyHDXKgEAgALE7WEnISFBsbGxatq0qcv4jRs36sKFCy7jq1SpooiICCUmJkqSEhMTVb16dYWGhjr7xMTEKC0tTdu2bbviMtPT05WWlubyAQAA1uTpzoV/+umn2rRpkzZs2JCtLTk5Wd7e3goKCnIZHxoaquTkZGefvwedS+2X2q5kzJgxGjFixHVWDwAAbgVuO7Ozf/9+/ec//9GMGTPk4+NzU5c9ePBgpaamOj/79++/qcsHAAA3j9vCzsaNG3X48GHdfffd8vT0lKenp1avXq0333xTnp6eCg0NVUZGhk6ePOkyXUpKisLCwiRJYWFh2Z7OujR8qU9O7Ha7HA6HywcAAFiT28JOkyZNtHXrVm3evNn5qV27tjp27Oj828vLSytWrHBOs3PnTiUlJSk6OlqSFB0dra1bt+rw4cPOPsuWLZPD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e++9PBcNAACQ3/J0GSskJERff/21du3apR07dkj664V/lSpVytfiAAAArtd1vVSwUqVKBBwAAFCg5Tns/Pnnn5o/f76SkpKUkZHh0jZ+/PjrLgwAACA/5CnsrFixQq1atVL58uW1Y8cOVatWTfv27ZMxxnnDMgAAQEGQpxuUBw8erGeeeUZbt26Vj4+P5syZo/3796tRo0Z6+OGH87tGAACAPMtT2Nm+fbs6d+4sSfL09NS5c+fk7++vkSNH6uWXX87XAgEAAK5HnsKOn5+f8z6dEiVKaM+ePc62o0eP5k9lAAAA+SBP9+zUq1dPa9euVWRkpFq0aKGnn35aW7du1dy5c50/5QAAAFAQ5CnsjB8/XqdPn5YkjRgxQqdPn9Znn32mihUr8iQWAAAoUPIUdsqXL+/828/PT5MnT863ggAAAPJTnu7ZAQAAuFXk+sxOkSJFZLPZctX3+PHjeS4IAAAgP+U67Lz++uvOv48dO6bRo0crJiZG0dHRkqTExEQtWbJEQ4YMyfciAQAA8spmjDHXOlF8fLzuv/9+9e7d22X822+/reXLl+uLL77Ir/puitz+RLy7lR200N0lWMa+sbHuLgEAcJ1y+/2dp3t2lixZogcffDDb+AcffFDLly/PyywBAABuiDyFnaJFi+rLL7/MNv7LL79U0aJFr7soAACA/JKnR89HjBih7t2765tvvlHdunUlSevXr9fixYs1derUfC0QAADgeuQp7HTt2lWRkZF68803NXfuXElSZGSk1q5d6ww/AAAABUGewo4k1a1bVzNmzMjPWgAAAPJdrsNOWlqa807ntLS0q/YtyE80AQCA28s1vVTw0KFDKl68uIKCgnJ8waAxRjabTZmZmflaJAAAQF7lOuysXLlSwcHBkqRVq1bdsIIAAADyU67DTqNGjZx/lytXTuHh4dnO7hhjtH///vyrDgAA4Drl6T075cqV05EjR7KNP378uMqVK3fdRQEAAOSXPIWdS/fmXO706dPy8fG57qIAAADyyzU9ej5gwABJks1m05AhQ1S4cGFnW2ZmptavX6+aNWvma4EAAADX45rCzk8//STprzM7W7dulbe3t7PN29tbd955p5555pn8rRAAAOA6XFPYufQU1hNPPKE33niD9+kAAIACL09vUJ42bVp+1wEAAHBD5CnsnDlzRmPHjtWKFSt0+PBhZWVl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qUuXLho5cuTNWg0AAFCAuTXs5OYVPz4+Ppo4caImTpx4xT5lypTR119/nZ+lAQAAiygQNygDAADcKIQdAABgaYQdAABgaYQdAABgaQXmDcoAAOQHfqA2f1jpx2k5swMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACzNrWFnzZo1iouLU8mSJWWz2fTFF1+4tBtjNHToUJUoUUK+vr5q2rSpdu/e7dLn+PHj6tixoxwOh4KCgtStWzedPn36Jq4FAAAoyNwads6cOaM777xTEydOzLF93LhxevPNNzV58mStX79efn5+iomJ0fnz5519OnbsqG3btmnZsmVasGCB1qxZo6eeeupmrQIAACjgPN258ObNm6t58+Y5thlj9Prrr+uFF15Q69atJUkffvihQkND9cUXX+jRRx/V9u3btXjxYm3YsEG1a9eWJL311ltq0aKFXn31VZUsWfKmrQsAACiYCuw9O3v37lVycrKaNm3qHBcYGKi6desqMTFRkpSYmKigoCBn0JGkpk2bysPDQ+vXr7/ivNPT05WWlubyAQAA1lRgw05ycrIkKTQ01GV8aGiosy05OVnFixd3aff09FRwcLCzT07GjBmjwMBA5yc8PDyfqwcAAAVFgQ07N9LgwYOVmprq/Ozfv9/dJQEAgBukwIadsLAwSVJKSorL+JSUFGdbWFiYDh8+7NJ+8eJFHT9+3NknJ3a7XQ6Hw+UDAACsqcCGnXLlyiksLEwrVqxwjktLS9P69esVHR0tSYqOjtbJkye1ceNGZ5+VK1cqKytLdevWvek1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VzfGGPPf//7XVK5c2Vy4cCHX65DTZaxHH300V5exLr8U9Hc53bNzyY8//mgkmaSkJOe4jz76yEgyP/30U47TTJ482QQEBOTYtnjxYiPJHDt2zHz++efGy8vLZGZmOttHjRplJDn3Sfv27U3Lli1d5vH4449nW+cnn3zyiutnTM6XsS6v/0qXsRISEq46b8AKePQcsICJEyeqfv36qlOnjkaOHKkaNWro4sWLWrZsmd55550cL1VUrFhRSUlJ+vTTT3XPPfdo4cKFzrMaknTu3DkNHDhQ7dq1U7ly5fTnn39qw4YNio+PlyT169dPzZs3V6VKlXTixAmtWrVKkZGRkqSEhARNnTpVHTp00LPPPqvg4GD99ttv+vTTT/Xee++pUKFC2erp27ev6tevr1dffVWtW7fWkiVLsj0tNHDgQD3yyCO666671LRpU3311VeaO3euli9fnqftFhERIW9vb7311lv697//rV9++UWjRo1y6TN06FDVqlVLVatWVXp6uhYsWOBcz/Hjx6tEiRK666675OHhodmzZyssLExBQUG64447dOHCBb311luKi4vTd999p8mTJ7vMu0+fPmrYsKHGjx+vuLg4rVy5UosWLZLNZnNZfsuWLRUREaF27drJw8NDW7Zs0S+//KLRo0fnel0HDhyoYcOGqUKFCqpZs6amTZumzZs3a8aMGXnadsAtxd1pC0D+OHjwoElISDBlypQx3t7eplSpUqZVq1Zm1apVzj667AblgQMHmqJFixp/f3/Tvn17M2HCBOdZhfT0dPPoo4+a8PBw4+3tbUqWLGl69+5tzp07Z4wxpnfv3qZChQrGbrebkJAQ06lTJ3P06FHnvHft2mXatm1rgoKCjK+vr6lSpYrp16/fVW/mff/9903p0qWNr6+viYuLM6+++mq2M02TJk0y5cuXN15eXqZSpUrmww8/vOp2udqZHWOMmTlzpilbtqyx2+0mOjrazJ8/3+XMyKhRo0xkZKTx9fU1wcHBpnXr1ub33383xhjz7rvvmpo1axo/Pz/jcDhMkyZNzKZNm5zzHj9+vClRooTx9fU1MTEx5sMPP3Q5s3NpHqVKlTK+vr6mTZs2ZvTo0SYsLMylxsWLF5t7773X+Pr6GofDYerUqWPeffddZ7tycWYnMzPTDB8+3JQqVcp4eXmZO++80yxatOiq2w6wCpsx13F3IwAgX/Xo0UM7duzQt99+6+5SAMvgMhYAuNGrr76qBx54QH5+flq0aJE++OADTZo0yd1lAZbCmR0AcKNHHnlE33zzjU6dOqXy5curT58++ve//+3usgBLIewAAABL4z07AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0gg7AADA0v4/XUGZPV8HI2kAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "contagem_passageiros = df['Classe'].value_counts()\n", "contagem_passageiros.plot(kind='bar')\n", @@ -631,12 +3821,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": { "id": "j7lUqI3BS_nK", "outputId": "758058f2-185d-412d-835e-38d8ca773f3e" }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHpCAYAAAB+9B1sAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIbUlEQVR4nO3de1RU5cLH8d+AMoAKoggocSSvhXdBzUqtRCl9Lbso1VsaR61jmhaaShdvlaiZx1KL9Gh5zN7sdsqOhhZHS400r1neTcWTgngDRQNlnvePllMTaIwCg9vvZ61Zi3nm2bN/QxA/9zx7j80YYwQAAGARXp4OAAAAUJooNwAAwFIoNwAAwFIoNwAAwFIoNwAAwFIoNwAAwFIoNwAAwFIoNwAAwFIoNwCuemvWrNH48eN16tQpT0cBUAooN0AF8cgjjygyMtLTMS7KZrNp8ODBno7h4pZbbtEtt9xyydufOnVK8fHxevfddzVy5MjSC3YBb7/9tmw2m/bt21fm+wKuVpQbXPFsNluJbitWrPB01HK3atUq3XHHHQoPD5evr6/+8pe/qEePHnr33Xc9Ha3CePrpp3Xbbbdp9erV+uyzz/TVV195OtIV6bPPPlOnTp0UEhIif39/1atXT71791Zqaqqno+EqVMnTAYDLNX/+fJf7//znP/XFF18UGb/++uvLM5bHffDBB4qPj1fLli01dOhQBQUFae/evfr66681e/ZsPfjgg56OWCqWLVt2ydueOnVK4eHhSkxMlL+/vz7++GNt3bq1FNMV9fDDD+v++++X3W4v0/2UpylTpujpp59Wp06dlJSUJH9/f+3evVtffvml3nvvPd1+++2ejoirjI0PzoTVDB48WDNnztSV9qP9yCOPaMWKFaX2dkWTJk1ks9m0YcMG+fj4uDx2+PBhhYSEuP2cNptNgwYN0owZM9zeNi8vT1WqVHF7O3ieMUa//PKL/Pz8ijx27tw51axZU+3atSu2aF7qzxpwOXhbCleFt956S7fddptCQkJkt9sVFRWlN954w2XOf/7zH3l5eWn06NEu4++++65sNpvL/JI838V88sknatq0qXx9fdW0aVP961//Knaew+HQtGnT1KRJE/n6+io0NFSPPfaYjh8//qf72LNnj9q0aVOk2Egq8scmLy9Pw4YNU0REhOx2uxo3bqwpU6ZcsCAuWLBAjRs3lq+vr6Kjo/X111+7PD527FjZbDZt3bpVDz74oIKCgnTzzTc7H3/nnXcUHR0tPz8/1ahRQ/fff78OHDjgfHzw4MGqWrWqTp8+XWTfDzzwgMLCwlRYWCjJdc1NVlaWKlWqpHHjxhXZbseOHbLZbC7F7MSJE3ryySedr7tBgwaaNGmSHA6Hc86+fftks9k0ZcoUzZo1S/Xr15fdblebNm303XffFdnP9u3b1bt3b9WqVUt+fn5q3Lixnn32Wefjxa25+fTTT9W9e3fVqVNHdrtd9evX1wsvvOB8jRdz/nt9fr8BAQGqWbOmhg4dql9++cVl7rlz5/TCCy84X0NkZKSeeeYZ5efnu8yLjIzU//zP/2jp0qWKiYmRn5+f3nzzzWL3f+TIEeXm5uqmm24q9vE//qzl5+drzJgxatCggex2uyIiIjRixAiXDH379pWvr6+2bdvmsm1cXJyCgoJ08OBB59jrr7+uJk2ayG63q06dOho0aJBOnDjxp983WJwBLGbQoEHmjz/abdq0MY888oj5+9//bqZPn266du1qJJkZM2YU2bZSpUpm/fr1xhhjDh48aGrUqGFiY2ONw+Fw+/mKs3TpUuPl5WWaNm1qpk6dap599lkTGBhomjRpYurWresyt3///qZSpUpmwIABJiUlxYwcOdJUqVLFtGnTxhQUFFx0P40aNTIRERHmwIEDF53ncDjMbbfdZmw2m+nfv7+ZMWOG6dGjh5FknnzySZe5kkzTpk1NcHCwGT9+vJk0aZKpW7eu8fPzM1u2bHHOGzNmjJFkoqKizF133WVef/11M3PmTGOMMS+++KKx2WwmPj7evP7662bcuHEmODjYREZGmuPHjxtjjPn666+NJPP++++77D8vL89UqVLFDBo0yDnWqVMn06lTJ+f92267zURFRRV5nePGjTPe3t4mMzPT+VzNmzc3NWvWNM8884xJSUkxffr0MTabzQwdOtS53d69e40k06pVK9OgQQMzadIkM3nyZBMcHGyuueYal/8OmzdvNgEBAaZmzZomKSnJvPnmm2bEiBGmWbNmzjlvvfWWkWT27t3rHOvZs6fp3bu3efnll80bb7xhevXqZSSZ4cOHX/S/3e+/182aNTM9evQwM2bMMA899JCRZB5++GGXuX379jWSzH333Wdmzpxp+vTpYySZnj17usyrW7euadCggQkKCjKj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Cg0N1aOPPsqCYgAA4HFulxtJ8vLyUteuXfX2228rKytLb775ptauXavbbruttPMBAAC45dI/8VJSZmam3nvvPb3zzjv6/vvv1bZt29LKBQAAcEncPnKTm5urt956S126dFFERITeeOMN3Xnnndq1a5e+/fbbssgIAABQYm4fuQkNDVVQUJDi4+OVnJysmJiYssgFAABwSdwuN4sWLVLnzp3l5XVJy3UAAADKlNvlpkuXLmWRAwAAoFSUqNy0bt1aaWlpCgoKUqtWrS766d8bNmwotXAAAADuKlG5ueuuu2S3251fX6zcAAAAeFKJys2YMWOcX48dO7assgAAAFw2t1cF9+/fXytWrCiDKAAAAJfP7XKTnZ2t22+/XREREXr66ae1efPmssgFAABwSdwuN59++qkOHTqk559/Xt99951at26tJk2aaMKECdq3b18ZRAQAACi5S7pYTVBQkB599FGtWLFC+/fv1yOPPKL58+erQYMGpZ0PAADALZd1Jb6zZ89q3bp1WrNmjfbt26fQ0NDSygUAAHBJLqncLF++XAMGDFBoaKgeeeQRBQQE6N///rf++9//lnY+AAAAt7h9heLw8HAdO3ZMt99+u2bNmqUePXo4r4EDAADgaW6Xm7Fjx6pXr16qXr16GcQBAAC4PG6/LTVgwABVr15du3fv1tKlS3XmzBlJkjGm1MMBAAC4y+1yc/ToUXXu3FmNGjVSt27ddOjQIUlSv379NGzYsFIPCAAA4A63y81TTz2lypUrKyMjQ/7+/s7x+Ph4paamlmo4AAAAd7m95mbZsmVaunSprrnmGpfxhg0bav/+/aUWDAAA4FK4feQmLy/P5YjNeceOHeOsKQAA4HFul5sOHTron//8p/O+zWaTw+HQ5MmTdeutt5ZqOAAAAHe5/bbU5MmT1blzZ61bt04FBQUaMWKEfvzxRx07dkyrV68ui4wAAAAl5vaRm6ZNm2rnzp26+eabdddddykvL0/33HOPNm7cqPr165dFRgAAgBJz68jN2bNndfvttyslJUXPPvtsWWUCAAC4ZG4dualcubK+//77Ug8xc+ZMRUZGytfXV+3atdPatWtLtN17770nm82mnj17lnomAABwZXL7bamHHnpIc+bMKbUACxcuVGJiosaMGaMNGzaoRYsWiouL0+HDhy+63b59+zR8+HB16NCh1LIAAIAr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5Paam1atWum7775Tw4YN1alTJ40ePVpHjhzR/Pnz1bRp07LICAAAUGJuH7mZMGGCateuLUl66aWXFBQUpIEDByo7O1tvvvlmqQcEAABwh9tHbmJiYpxfh4SEKDU1tVQDAQAAXA63j9xc7NO6ly5dellhAAAALpfb5aZ169aaOXOmy1h+fr4GDx6su+66q9SCAQAAXAq3y83bb7+t0aNHq1u3bsrKytKmTZvUqlUrffnll1q5cmVZZAQAACgxt8tN7969tXnzZp09e1ZNmjRR+/bt1alTJ23YsEFt2rQpi4wAAAAl5na5Oa+goECFhYUqLCxU7dq15evrW5q5AAAALonb5ea9995Ts2bNFBgYqJ07d2rx4sWaNWuWOnTooJ9++qksMgIAAJSY2+WmX79+mjBhghYtWqRatWqpS5cu2rJli8LDw9WyZcsyiAgAAFBybl/nZsOGDWrcuLHLWFBQkN5//33Nnz+/1IIBAABcCreP3Pyx2Pzeww8/fFlhAAAALpfbR24k6b///a8WLVqkjIwMFRQUuDw2derUUgkGAABwKdwuN2lpabrzzjtVr149bd++XU2bNtW+fftkjFHr1q3LIiMAAECJuf22VFJSkoYPH64tW7bI19dXH330kQ4cOKBOnTqpV69eZZERAACgxNwuN9u2bVOfPn0kSZUqVdKZM2dUtWpVjR8/XpMmTSr1gAAAAO5wu9xUqVLFuc6mdu3a2rNnj/OxI0eOlF4yAACAS1DicjN+/Hjl5eXphhtu0KpVqyRJ3bp107Bhw/TSSy/pr3/9q2644YYyCwoAAFASJS4348aNU15enqZOnap27do5xzp37qyFCxcqMjJSc+bMKbOgAAAAJVHis6WMMZKkevXqOceqVKmilJSU0k8FAABwidxac2Oz2coqBwAAQKlw6zo3jRo1+tOCc+zYscsKBAAAcDncKjfjxo1TYGBgWWUBAAC4bG6Vm/vvv18hISFllQUAAOCylXjNDettAADAlaDE5eb82VIAAAAVWYnflnI4HGWZAwAAoFS4/fELAAAAFRnlBgAAWArlBgAAWArlBgAAWArlBgAAWEqFKDczZ85UZGSkfH191a5dO61du/aCc2fPnq0OHTooKChIQUFBio2Nveh8AABwdfF4uVm4cKESExM1ZswYbdiwQS1atFBcXJwOHz5c7PwVK1bogQce0PLl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wGmeTgCgrFzNv98nT55UYGDgRed4tNyUh6SkJJcjPQ6HQ8eOHVPNmjVls9k8mAzlITc3VxERETpw4IACAgI8HQdAKeL3++pijNHJkydVp06dP53r0XITHBwsb29vZWVluYxnZWUpLCys2G3CwsLcmm+322W3213GqlevfumhcUUKCAjgf36ARfH7ffX4syM253l0QbGPj4+io6OVlpbmHHM4HEpLS1P79u2L3aZ9+/Yu8yXpiy++uOB8AABwdfH421KJiYnq27evYmJi1LZtW02bNk15eXlKSEiQJPXp00fh4eFKTk6WJA0dOlSdOnXSK6+8ou7du+u9997TunXrNGvWLE++DAAAUEF4vNzEx8crOztbo0ePVmZmplq2bKnU1FTnouGMjAx5ef12gOnGG2/Uu+++q+eee07PPPOMGjZsqE8++URNmzb11EtABWa32zVmzJgib00CuPLx+40LsZmSnFMFAABwhfD4RfwAAABKE+UGAABYCuUGAABYCuUGAABYCuUGAABYCuUGlrV7924tXbpUZ86ckVSyD1sDAFz5KDewnKNHjyo2NlaNGjVSt27ddOjQIUlSv379NGzYMA+nAwCUNcoNLOepp55SpUqVlJGRIX9/f+d4fHy8UlNTPZgMQGlZuXKlHnroIbVv314///yzJGn+/PlatWqVh5OhIqDcwHKWLVumSZMm6ZprrnEZb9iwofbv3++hVABKy0cffaS4uDj5+flp48aNys/PlyTl5ORowoQJHk6HioByA8vJy8tzOWJz3rFjx7hMO2ABL774olJSUjR79mxVrlzZOX7TTTdpw4YNHkyGioJyA8vp0KGD/vnPfzrv22w2ORwOTZ48WbfeeqsHkwEoDTt27FDHjh2LjAcGBurEiRPlHwgVjsc/OBMobZMnT1bnzp21bt06FRQUaMSIEfrxxx917NgxrV692tPxAFymsLAw7d69W5GRkS7jq1atUr169TwTChUKR25gOU2bNtXOnTt1880366677lJeXp7uuecebdy4UfXr1/d0PACXacCAARo6dKjWrFkjm82mgwcPasGCBRo+fLgGDhzo6XioAPhUcADAFcUYowkTJig5OVmnT5+WJNntdg0fPlwvvPCCh9OhIqDcwBK+//77Es9t3rx5GSYBUF4KCgq0e/dunTp1SlFRUapataqnI6GCoNzAEry8vGSz2f70KsQ2m02FhYXllAoA4AksKIYl7N2719MRAJShe+65p8RzP/744zJMgisB5QaWULduXU9HAFCGAgMDPR0BVxDeloJlbd26VRkZGSooKHAZv/POOz2UCABQHjhyA8v56aefdPfdd2vLli0u63BsNpskseYGACyOcgPLGTp0qK699lqlpaXp2muv1dq1a3X06FENGzZMU6ZM8XQ8AKXgww8/1Pvvv1/s0Vk+ggFcxA+Wk56ervHjxys4OFheXl7y8vLSzTffrOTkZA0ZMsTT8QBcptdee00JCQkKDQ3Vxo0b1bZtW9WsWVM//fST7rjjDk/HQwVAuYHlFBYWqlq1apKk4OBgHTx4UNKvi4537NjhyWgASsHrr7+uWbNmafr06fLx8dGIESP0xRdfaMiQIcrJyfF0PFQAlBtYTtOmTbV582ZJUrt27TR58mStXr1a48eP53NnAAvIyMjQjTfeKEny8/PTyZMnJUkPP/yw/u///s+T0VBBUG5gOc8995wcDockafz48dq7d686dOigJUuW6LXXXvNwOgCXKywsTMeOHZMk/eUvf9G3334r6dfrXXECMCQWFMOC4uLinF83aNBA27dv17FjxxQUFOQ8YwrAleu2227TokWL1KpVKyUkJOipp57Shx9+qHXr1rl1sT9YF9e5AQBcURwOhxwOhypV+vXf5wsXLtTq1avVsGFD/e1vf1PlypU9nBCeRrmB5fzyyy+aPn26li9frsOHDzvfojqP00SBK98vv/yi77//vsjvuM1mU48ePTyYDBUBb0vBcvr166dly5bpvvvuU9u2bXkrCrCY1NRUPfzwwzp69GiRx/hwXEgcuYEFBQYGasmSJbrppps8HQVAGWjYsKG6du2q0aNHKzQ01NNxUAFxthQsJzw83HmdGwDWk5WVpcTERIoNLohyA8t55ZVXNHLkSO3fv9/TUQCUgfvuu08rVqzwdAxUYLwtBcvJzs5W79699fXXX8vf37/ImRPnr48B4Mp0+vRp9erVS7Vq1VKzZs2K/I7zMSug3MByYmNjlZGRoX79+ik0NLTIguK+fft6KBmA0jBnzhz97W9/k6+vr2rWrOnyO26z2fTTTz95MB0qAsoNLMff31/p6elq0aKFp6MAKANhYWEaMmSIRo0aJS8vVlegKH4qYDnXXXedzpw54+kYAMpIQUGB4uPjKTa4IH4yYDkTJ07UsGHDtGLFCh09elS5ubkuNwBXtr59+2rhwoWejoEKjLelYDnn/zX3x7U2xhgu8AVYwJAhQ/TPf/5TLVq0UPPmzYssKJ46daqHkqGi4ArFsJzly5d7OgKAMrRlyxa1atVKkvTDDz+4PMYVySFx5AYAAFgMa25gSStXrtRDDz2kG2+8UT///LMkaf78+Vq1apWHkwEAyhrlBpbz0UcfKS4uTn5+ftqwYYPy8/MlSTk5OZowYYKH0wEAyhrlBpbz4osvKiUlRbNnz3ZZaHjTTTdpw4YNHkwGACgPlBtYzo4dO9SxY8ci44GBgTpx4kT5BwIAlCvKDSwnLCxMu3fvLjK+atUq1atXzwOJAADliXIDyxkwYICGDh2qNWvWyGaz6eDBg1qwYIGGDx+ugQMHejoeAKCMcZ0bWML333+vpk2bysvLS0lJSXI4HOrcubNOnz6tjh07ym63a/jw4XriiSc8HRUAUMa4zg0swdvbW4cOHVJISIjq1aun7777TtWqVdPu3bt16tQpRUVFqWrVqp6OCQAoBxy5gSVUr15de/fuVUhIiPbt2yeHwyEfHx9FRUV5OhoAoJxRbmAJ9957rzp16qTatWvLZrMpJiZG3t7exc796aefyjkdAKA8UW5gCbNmzdI999yj3bt3a8iQIRowYICqVavm6VgAAA9gzQ0sJyEhQa+99hrlBgCuUpQbAABgKVznBgAAWArlBgAAWArlBgAAWArlBgAAWArlBgAAWArlBkCFk52drYEDB+ovf/mL7Ha7wsLCFBcXp9WrV3s6GoArABfxA1Dh3HvvvSooKNC8efNUr149ZWVlKS0tTUePHvV0NABXAI7cAKhQTpw4oZUrV2rSpEm69dZbVbduXbVt21ZJSUm68847nXP69++vWrVqKSAgQLfddps2b94s6dejPmFhYZowYYLzOb/55hv5+PgoLS1NknT8+HH16dNHQUFB8vf31x133KFdu3aV/4sFUCYoNwAqlKpVq6pq1ar65JNPlJ+fX+ycXr166fDhw/r888+1fv16tW7dWp07d9axY8dUq1YtzZ07V2PHjtW6det08uRJPfzwwxo8eLA6d+4sSXrkkUe0bt06LVq0SOnp6TLGqFu3bjp79mx5vlQAZYQrFAOocD766CMNGDBAZ86cUevWrdWpUyfdf//9at68uVatWqXu3bvr8OHDstvtzm0aNGigESNG6NFHH5UkDRo0SF9++aViYmK0ZcsWfffdd7Lb7dq1a5caNWqk1atX68Ybb5QkHT16VBEREZo3b5569erlkdcMoPRw5AZAhXPvvffq4MGDWrRokW6//XatWLFCrVu31ttvv63Nmzfr1KlTqlmzpvMoT9WqVbV3717t2bPH+RxTpkzRuXPn9MEHH2jBggXOIrRt2zZVqlRJ7dq1c86tWbOmGjdurG3btpX7awVQ+lhQDKBC8vX1VZcuXdSlSxc9//zz6t+/v8aMGaPHH39ctWvX1ooVK4psU716defXe/bs0cGDB+VwOLRv3z41a9as/MID8CjKDYArQlRUlD755BO1bt1amZmZqlSpkiIjI4udW1BQoIceekjx8fFq3Lix+vfvry1btigkJETXX3+9zp07pzVr1ri8LbVjxw5FRUWV4ysCUFZYcwOgQjl69Kh69eqlv/71r2revLmqVaumdevW6YknnlD37t31j3/8Qx07dtTJkyc1efJkNWrUSAcPHtTixYt19913KyYmRk8//bQ+/PBDbd68WVWrVlWnTp0UGBiof//735Kknj17ateuXXrzzTdVrVo1jRo1Srt379bWrVtVuXJlD38HAFwuyg2ACiU/P19jx47VsmXLtGfPHp09e1YRERHq1auXnnnmGfn5+enkyZN69tln9dFHHzlP/e7YsaOSk5O1Z88edenSRcuXL9fNN98sSdq3b59atGihiRMnauDAgTp+/LiGDh2qRYsWqaCgQB07dtT06dPVsGFDD796AKWBcgMAACyFs6UAAIClUG4AAIClUG4AAIClUG4AAIClUG4AAIClUG4AAIClUG4AAIClUG4AAIClUG4AAIClUG4AAIClUG4AAICl/D9jwzVKemezmgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Criando um gráfico de barras para calcular a taxa de sobrevivência por sexo\n", "# plot.bar()\n", @@ -654,12 +3855,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": { "id": "RzV9cvoOS_nK", "outputId": "eea06c73-5805-427d-f2b1-b82d3481b8a8" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Distribuição de Idade')" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/BklEQVR4nO3deVxVdf7H8fcFZFE2QRBQQNy3NJckcy2dFE2znEqz0txaNLepUSrXxtGpyUxbnKbSGjXbTB0tU3EbJ3RcItPcMFxKUJMEQUWW7++PHt5fV9AEr17u6fV8PM7jcc/3+73nfr5cwnfnfs+5NmOMEQAAgEV5uLoAAACA64mwAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wAwAALI2wA7ipSZMmyWaz3ZDX6tixozp27GjfX79+vWw2mz755BOnvcahQ4dks9k0b968Uj/3k08+UXBwsNq0aaMDBw5o6NChmjlzptNquxKbzaZJkybdkNf6tWv5eV3OjfydAm4kwg5QDsybN082m82++fr6KioqSl26dNGsWbN05swZp7zOsWPHNGnSJKWkpDjleOXFiy++qKFDhyoyMlL169fX4sWL1atXL1eXVSY1atTQXXfd5eoyAEvxcnUBAP7flClTFBcXp/z8fGVkZGj9+vUaNWqUZsyYoWXLlqlJkyb2sc8//7zGjRtXquMfO3ZMkydPVo0aNXTzzTdf9fNWrVpVqtcpi9jYWJ07d04VKlQo9XM//vhjVatWTV5eXjp58qQCAgLk6+t7HaoE4I4IO0A5kpCQoJYtW9r3ExMTtXbtWt11113q2bOn9uzZIz8/P0mSl5eXvLyu73/CZ8+eVcWKFeXt7X1dX0eS/YxWWcTGxtofh4WFOaskABbBx1hAOXfHHXdo/PjxOnz4sObPn29vL2l9xerVq9W2bVsFBwfL399f9erV07PPPivpl3U2t9xyiyTp0UcftX9kdnHNR8eOHdW4cWNt375d7du3V8WKFe3PvXTNzkWFhYV69tlnFRERoUqVKqlnz546evSow5gaNWpowIABxZ576TEvtwZl7969uv/++xUWFiY/Pz/Vq1dPzz33nL0/LS1NTzzxhOrWrSs/Pz+Fhobqvvvu06FDh4q95vfff6/77rtPISEhqlixom699VatWLGi2LiS5OXlafTo0QoLC1NAQIB69uypH374ocSxP/74owYOHKiqVavKx8dHjRo10rvvvntVr1OS06dPa8CAAQoKClJwcLD69++v06dPFxu3c+dODRgwQDVr1pSvr68iIiI0cOBAnTp1qtjYTZs26ZZbbpGvr69q1aqlf/zjH5d9/fnz56tFixby8/NTSEiI+vTpU+x9BsozzuwAbuDhhx/Ws88+q1WrVmnIkCEljtm9e7fuuusuNWnSRFOmTJGPj49SU1P13//+V5LUoEEDTZkyRRMmTNDQoUPVrl07SdJtt91mP8apU6eUkJCgPn366KGHHlLVqlWvWNfUqVNls9k0duxYnThxQjNnzlTnzp2VkpJiPwN1LXbu3Kl27dqpQoUKGjp0qGrUqKGDBw/q3//+t6ZOnSpJ2rJli5KTk9W3b19Vr15daWlpmjNnjjp27KjvvvtOFStWlCQdP35ct912m86ePasRI0YoNDRU7733nnr27KlPPvlE99xzzxVrGTx4sObPn68HH3xQt912m9auXavu3bsXG3f8+HHdeuutstlsGj58uMLCwvTFF19o0KBBys7O1qhRo0r1MzDG6O6779amTZv0+OOPq0GDBvrss8/Uv3//YmNXr16t77//Xo8++qgiIiK0e/duvfXWW9q9e7c2b95sD8fffvut7rzzToWFhWnSpEkqKCjQxIkTS3y/p06dqvHjx+v+++/X4MGDdfLkSc2ePVvt27fX119/reDg4FLNB3AJA8Dl5s6daySZrVu3XnZMUFCQadasmX1/4sSJ5tf/Cb/yyitGkjl58uRlj7F161YjycydO7dYX4cOHYwkM2fOnBL7OnToYN9ft26dkWSqVatmsrOz7e0fffSRkWReffVVe1tsbKzp37//bx4zLS2tWG3t27c3AQEB5vDhww7PLSoqsj8+e/ZssWMnJycbSeb999+3t40aNcpIMv/5z3/sbWfOnDFxcXGmRo0aprCwsNhxLkpJSTGSzJNPPunQ/uCDDxpJZuLEifa2QYMGmcjISPPTTz85jO3Tp48JCgoqsd5fi42NNd27d7fvL1myxEgyL774or2toKDAtGvXrtjPq6Rjf/DBB0aS2bhxo72tV69extfX1+Hn+t133xlPT0+H36lDhw4ZT09PM3XqVIdjfvvtt8bLy6tYO1Be8TEW4Cb8/f2veFXWxf/DXrp0qYqKisr0Gj4+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Lg07OTk5Sk1Nte+npaUpJSVFISEhiomJkfTLepqPP/5YL7/8crHnJycna8uWLbr99tsVEBCg5ORkjR49Wg899JAqV658w+YBAADKL5eGnW3btun222+3719cf9O/f3/NmzdPkrRo0SIZY9S3b99iz/fx8dGiRYs0adIk5eXlKS4uTqNHj3ZYxwMAAH7fbMa42Z3YroPs7GwFBQUpKytLgYGBri4HpXUmV9qxR93/e8ptLj1vFOilFW1CpeYNpIBKri4HANzS1f777RYLlAEAAMqKsAMAACyNsAMAACyNsAMAACyNsAMAACzNLW4qCFjW2XOurqD0KnjxTe0A3AphB3CBMG8PFRojz72HXF1KqRXabPJs1ZjAA8BtEHYAFwisYJOnzaaR32QpNcc97g0kSbX9vfRq0yApv4CwA8BtEHYAF0rNKXCbGyECgLtigTIAALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0wg4AALA0l4adjRs3qkePHoqKipLNZtOSJUsc+gcMGCCbzeawde3a1WFMZmam+vXrp8DAQAUHB2vQoEHKycm5gbMAAADlmUvDTm5urpo2barXX3/9smO6du2q9PR0+/bBBx849Pfr10+7d+/W6tWrtXz5cm3cuFFDhw693qUDAAA34eXKF09ISFBCQsIVx/j4+CgiIqLEvj179mjlypXaunWrWrZsKUmaPXu2unXrpr///e+Kiopyes0AAMC9lPs1O+vXr1d4eLjq1aunJ554QqdOnbL3JScnKzg42B50JKlz587y8PDQli1bLnvMvLw8ZWdnO2wAAMCaynXY6dq1q95//30lJSXpb3/7mzZs2KCEhAQVFhZKkjIyMhQeHu7wHC8vL4WEhCgjI+Oyx502bZqCgoLsW3R09HWdBwAAcB2Xfoz1W/r06WN/fNNNN6lJkyaqVauW1q9fr06dOpX5uImJiRozZox9Pzs7m8ADAIBFleszO5eqWbOmqlSpotTUVElSRESETpw4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2GPasWOHvW379u164oknuPwcAACUK2UKO++++64iIiLUsmVL+fj4yMfHR61atVLVqlX19ttvO7tGAACAMivTfXbCwsL0+eefa//+/dq7d68kqX79+qpbt65TiwMAALhW13RTwbp16xJwAABAuVbmsPPDDz9o2bJlOnLkiC5cuODQN2PGjGsuDAAAwBnKFHaSkpLUs2dP1axZU3v37lXjxo116NAhGWPUvHlzZ9cIAABQZmVaoJyYmKinn35a3377rXx9ffXpp5/q6NGj6tChg+67776rPs7GjRvVo0cPRUVFyWazacmSJQ79xhhNmDBBkZGR8vPzU+fOnXXgwAGHMZmZmerXr58CAwMVHBysQYMGKScnpyzTAgAAFlSmsLNnzx498sgjkiQvLy+dO3dO/v7+mjJliv72t79d9XFyc3PVtGlTvf766yX2v/jii5o1a5bmzJmjLVu2qFKlSurSpYvOnz9vH9OvXz/t3r1bq1ev1vLly7Vx40YNHTq0LNMCAAAWVKaPsSpVqmRfpxMZGamDBw+qUaNGkqSffvrpqo+TkJCghISEEvuMMZo5c6aef/553X333ZKk999/X1WrVtWSJUvUp08f7dmzRytXrtTWrVvVsmVLSdLs2bPVrVs3/f3vf1dUVFRZpgcAACykTGd2br31Vm3atEmS1K1bN/3pT3/S1KlTNXDgQN16661OKSwtLU0ZGRkONykMCgpSfHy8kpOTJUnJyckKDg62Bx1J6ty5szw8PLRly5bLHjsvL0/Z2dkOGwAAsKYyndmZMWOGfV3M5MmTlZOTow8//FB16tRx2pVYGRkZkqSqVas6tFetWtXel5GRofDwcId+Ly8vhYSE2MeUZNq0aZo8ebJT6gQAAOVbmcJOzZo17Y8rVaqkOXPmOK2gGyExMVFjxoyx72dnZys6OtqFFQEAgOulTB9j3QgRERGSVOyLRY8fP27vi4iI0IkTJxz6CwoKlJmZaR9TEh8fHwUGBjpsAADAmq76zE7lypVls9muamxmZmaZC7ooLi5OERERSkpK0s033yzplzMwW7Zs0RNPPCFJat26tU6fPq3t27erRYsWkqS1a9eqqKhI8fHx11wDAABwf1cddmbOnGl/fOrUKf3lL39Rly5d1Lp1a0m/LBb+8ssvNX78+Kt+8ZycHKWmptr309LSlJKSopCQEMXExGjUqFH6y1/+ojp16iguLk7jx49XVFSUevXqJUlq0KCBunbtqiFDhmjOnDnKz8/X8OHD1adPH67EAgAAkkoRdvr3729/3Lt3b02ZMkXDhw+3t40YMUKvvfaa1qxZo9GjR1/VMbdt26bbb7/dvn9xHU3//v01b948/fnPf1Zubq6GDh2q06dPq23btlq5cqV8fX3tz1mwYIGGDx+uTp06ycPDQ71799asWbOudloAAMDiyrRA+csvvyzx5oFdu3bVuHHjrvo4HTt2lDHmsv02m01TpkzRlClTLjsmJCRECxcuvOrXBAAAvy9lWqAcGhqqpUuXFmtfunSpQkNDr7koAAAAZynTmZ3Jkydr8ODBWr9+vX0h8JYtW7Ry5Ur985//dGqBAAAA16JMYWfAgAFq0KCBZs2apcWLF0v6ZbHwpk2buAoKAACUK2UKO5IUHx+vBQsWOLMWAAAAp7vqsJOdnW2/+d5vfZcUN+kDAADlRaluKpienq7w8HAFBweXeINBY4xsNpsKCwudWiQAAEBZXXXYWbt2rUJCQiRJ69atu24FAQAAONNVh50OHTrYH8fFxSk6OrrY2R1jjI4ePeq86gAAAK5Rme6zExcXp5MnTxZrz8zMVFxc3DUXBQAA4CxlCjsX1+ZcKicnx+GrHAAAAFytVJeeX/zuKpvNpvHjx6tixYr2vsLCQm3ZssX+DeUAAADlQanCztdffy3plzM73377rby9ve193t7eatq0qZ5++mnnVggAAHANShV2Ll6F9eijj+rVV1/lfjoAAKDcK9MdlOfOnevsOgAAAK6LMoWd3NxcTZ8+XUlJSTpx4oSKiooc+r///nunFAcAAHCtyhR2Bg8erA0bNujhhx9WZGRkiVdmAQAAlAdlCjtffPGFVqxYoTZt2ji7HgAAAKcq0312KleubP/qCAAAgPKsTGHnhRde0IQJE3T27Fln1wMAAOBUZfoY6+WXX9bBgwdVtWpV1ahRQxUqVHDo37Fjh1OKAwAAuFZlCju9evVychkAAADXR5nCzsSJE51dBwAAwHVRpjU7AAAA7qJMZ3YKCwv1yiuv6KOPPtKRI0d04cIFh/7MzEynFAcAAHCtynRmZ/LkyZoxY4YeeOABZWVlacyYMbr33nvl4eGhSZMmOblEAACAsitT2FmwYIH++c9/6k9/+pO8vLzUt29fvf3225owYYI2b97s7BoBAADKrExhJyMjQzfddJMkyd/fX1lZWZKku+66SytWrHBedQAAANeoTGGnevXqSk9PlyTVqlVLq1atkiRt3bpVPj4+zqsOAADgGpUp7Nxzzz1KSkqSJD311FMaP3686tSpo0ceeUQDBw50aoEAAADXokxXY02fPt3++IEHHlBMTIySk5NVp04d9ejRw2nFAQAAXKsyhZ1LtW7dWq1bt3bGoQAAAJyqTGHn/fffv2L/I488UqZiAAAAnK1MYWfkyJEO+/n5+Tp79qy8vb1VsWJFwg4AACg3yrRA+eeff3bYcnJytG/fPrVt21YffPCBs2sEAAAoM6d9N1adOnU0ffr0Ymd9AAAAXMmpXwTq5eWlY8eOOfOQAAAA16RMa3aWLVvmsG+MUXp6ul577TW1adPGKYUBAAA4Q5nCTq9evRz2bTabwsLCdMcdd+jll192Rl0AAABOUaaPsYqKilRUVKTjx4/r559/VmFhoTIyMrRw4UJFRkY6tcAaNWrIZrMV24YNGyZJ6tixY7G+xx9/3Kk1AAAA91XqsHP69GkNGzZMVapUUUREhEJCQhQREaHExESdPXvW6QVu3bpV6enp9m316tWSpPvuu88+ZsiQIQ5jXnzxRafXAQAA3FOpPsbKzMxU69at9eOPP6pfv35q0KCBJOm7777T7NmztXr1am3atEk7d+7U5s2bNWLEiGsuMCwszGF/+vTpqlWrljp06GBvq1ixoiIiIq75tQAAgPWUKuxMmTJF3t7eOnjwoKpWrVqs784779TDDz+sVatWadasWU4tVJIuXLig+fPna8yYMbLZbPb2BQsWaP78+YqIiFCPHj00fvx4VaxY0emvDwAA3E+pws6SJUv0j3/8o1jQkaSIiAi9+OKL6tatmyZOnKj+/fs7rchfv/7p06c1YMAAe9uDDz6o2NhYRUVFaefOnRo7dqz27dunxYsXX/Y4eXl5ysvLs+9nZ2c7vVYAAFA+lCrspKenq1GjRpftb9y4sTw8PDRx4sRrLqwk77zzjhISEhQVFWVvGzp0qP3xTTfdpMjISHXq1EkHDx5UrVq1SjzOtGnTNHny5OtSIwAAKF9KtUC5SpUqOnTo0GX709LSFB4efq01lejw4cNas2aNBg8efMVx8fHxkqTU1NTLjklMTFRWVpZ9O3r0qFNrBQAA5Uepwk6XLl303HPP6cKFC8X68vLyNH78eHXt2tVpxf3a3LlzFR4eru7du19xXEpKiiRd8RJ4Hx8fBQYGOmwAAMCaSr1AuWXLlqpTp46GDRum+vXryxijPXv26I033lBeXp7ef/99pxdZVFSkuXPnqn///vLy+v+SDx48qIULF6pbt24KDQ3Vzp07NXr0aLVv315NmjRxeh0AAMD9lCrsVK9eXcnJyXryySeVmJgoY4ykX+6g/Ic//EGvvfaaYmJinF7kmjVrdOTIEQ0cONCh3dvbW2vWrNHMmTOVm5ur6Oho9e7dW88//7zTawAAAO6p1F8XERcXpy+++EI///yzDhw4IEmqXbu2QkJCnF7cRXfeeac9WP1adHS0NmzYcN1eFwAAuL8yfTeWJFWuXFmtWrVyZi0AAABOV6bvxgIAAHAXhB0AAGBpZf4YCwDcytlzrq6gdCp4Sb4+rq4CsATCDgBLC/P2UKEx8tx7yNWllEqhzSbPVo0JPIATEHYAWFpgBZs8bTaN/CZLqTkFri7nqtT299KrTYOk/ALCDuAEhB0AvwupOQXane0eYQeAc7FAGQAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWBphBwAAWJqXqwuwvPN5Un6Bq6sonQpekq+Pq6sAAMApCDvX0/k8Ff5vlzyNcXUlpVJos8mzVWMCDwDAEgg711N+gTyN0chvspSa4x5nd2r7e+nVpkG/nI0i7AAALICwcwOk5hRod7Z7hB0AAKyGBcoAAMDSynXYmTRpkmw2m8NWv359e//58+c1bNgwhYaGyt/fX71799bx48ddWDEAAChvynXYkaRGjRopPT3dvm3atMneN3r0aP373//Wxx9/rA0bNujYsWO69957XVgtAAAob8r9mh0vLy9FREQUa8/KytI777yjhQsX6o477pAkzZ07Vw0aNNDmzZt166233uhSAQBAOVTuz+wcOHBAUVFRqlmzpvr166cjR45IkrZv3678/Hx17tzZPrZ+/fqKiYlRcnLyFY+Zl5en7Oxshw0AAFhTuQ478fHxmjdvnlauXKk333xTaWlpateunc6cOaOMjAx5e3srODjY4TlVq1ZVRkbGFY87bdo0BQUF2bfo6OjrOAsAAOBK5fpjrISEBPvjJk2aKD4+XrGxsfroo4/k5+dX5uMmJiZqzJgx9v3s7GwCDwAAFlWuz+xcKjg4WHXr1lVqaqoiIiJ04cIFnT592mHM8ePHS1zj82s+Pj4KDAx02AAAgDW5VdjJycnRwYMHFRkZqRYtWqhChQpKSkqy9+/bt09HjhxR69atXVglAAAoT8r1x1hPP/20evToodjYWB07dkwTJ06Up6en+vbtq6CgIA0aNEhjxoxRSEiIAgMD9dRTT6l169ZciQUAAOzKddj54Ycf1LdvX506dUphYWFq27atNm/erLCwMEnSK6+8Ig8PD/Xu3Vt5eXnq0qWL3njjDRdXDQAAypNyHXYWLVp0xX5fX1+9/vrrev31129QRQAAwN2U67ADFzp7ztUVXD13qhUAcMMRduAgzNtDhcbIc+8hV5cCAIBTEHbgILCCTZ42m0Z+k6XUnAJXl3NVOoZ565m6Aa4uA3A+dztrWcFL8vVxdRVAMYQdlCg1p0C7s90j7NSq5OnqEgCnctczrIU2mzxbNSbwoNwh7ABAOeOOZ1hr+3vp1aZBUn4BYQflDmEHAMopdzrDCpRnbnUHZQAAgNIi7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsr12Fn2rRpuuWWWxQQEKDw8HD16tVL+/btcxjTsWNH2Ww2h+3xxx93UcUAAKC8KddhZ8OGDRo2bJg2b96s1atXKz8/X3feeadyc3Mdxg0ZMkTp6en27cUXX3RRxQAAoLzxcnUBV7Jy5UqH/Xnz5ik8PFzbt29X+/bt7e0VK1ZURETEjS4PAAC4gXJ9ZudSWVlZkqSQkBCH9gULFqhKlSpq3LixEhMTdfbs2SseJy8vT9nZ2Q4bAACwpnJ9ZufXioqKNGrUKLVp00aNGze2tz/44IOKjY1VVFSUdu7cqbFjx2rfvn1avHjxZY81bdo0TZ48+UaUDQAAXMxtws6wYcO0a9cubdq0yaF96NCh9sc33XSTIiMj1alTJx08eFC1atUq8ViJiYkaM2aMfT87O1vR0dHXp3AA+D05e87VFZROBS/J18fVVeA6c4uwM3z4cC1fvlwbN25U9erVrzg2Pj5ekpSamnrZsOPj4yMfH365AcBZwrw9VGiMPPcecnUppVJos8mzVWMCj8WV67BjjNFTTz2lzz77TOvXr1dcXNxvPiclJUWSFBkZeZ2rAwBcFFjBJk+bTSO/yVJqToGry7kqtf299GrTICm/gLBjceU67AwbNkwLFy7U0qVLFRAQoIyMDElSUFCQ/Pz8dPDgQS1cuFDdunVTaGiodu7cqdGjR6t9+/Zq0qSJi6sHgN+f1JwC7c52j7CD349yHXbefPNNSb/cOPDX5s6dqwEDBsjb21tr1qzRzJkzlZubq+joaPXu3VvPP/+8C6oFAADlUbkOO8aYK/ZHR0drw4YNN6gaAADgjtzqPjsAAAClRdgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACW5uXqAgAAcKmz51xdQelU8JJ8fVxdhVsh7AAAfpfCvD1UaIw89x5ydSmlUmizybNVYwJPKRB2AAC/S4EVbPK02TTymyyl5hS4upyrUtvfS682DZLyCwg7pUDYAQD8rqXmFGh3tnuEHZQNC5QBAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClWebrIl5//XW99NJLysjIUNOmTTV79my1atXK1WUBAOB8fFN7qVgi7Hz44YcaM2aM5syZo/j4eM2cOVNdunTRvn37FB4e7uryAABwCr6pvWwsEXZmzJihIUOG6NFHH5UkzZkzRytWrNC7776rcePGubg6AACcg29qLxu3DzsXLlzQ9u3blZiYaG/z8PBQ586dlZyc7MLKAAC4Pvim9tJx+7Dz008/qbCwUFWrVnVor1q1qvbu3Vvic/Ly8pSXl2ffz8rKkiRlZ2c7t7gzuVJujqK98pTv7R6/lGE2o2xqvu7csWbJPeum5huDmm8Md6w52qtQ2bk5Una2ZAqdeuyL/24bY6480Li5H3/80UgyX331lUP7M888Y1q1alXicyZOnGgksbGxsbGxsVlgO3r06BWzgtuf2alSpYo8PT11/Phxh/bjx48rIiKixOckJiZqzJgx9v2ioiJlZmYqNDRUNpvtmmvKzs5WdHS0jh49qsDAwGs+Xnlj9flJzNEKrD4/iTlagdXnJ13fORpjdObMGUVFRV1xnNuHHW9vb7Vo0UJJSUnq1auXpF/CS1JSkoYPH17ic3x8fOTj47hIKjg42Om1BQYGWvaXV7L+/CTmaAVWn5/EHK3A6vOTrt8cg4KCfnOM24cdSRozZoz69++vli1bqlWrVpo5c6Zyc3PtV2cBAIDfL0uEnQceeEAnT57UhAkTlJGRoZtvvlkrV64stmgZAAD8/lgi7EjS8OHDL/ux1Y3m4+OjiRMnFvuozCqsPj+JOVqB1ecnMUcrsPr8pPIxR5sxv3W9FgAAgPvii0ABAIClEXYAAIClEXYAAIClEXYAAIClEXac7PXXX1eNGjXk6+ur+Ph4/e9//3N1SWW2ceNG9ejRQ1FRUbLZbFqyZIlDvzFGEyZMUGRkpPz8/NS5c2cdOHDANcWWwbRp03TLLbcoICBA4eHh6tWrl/bt2+cw5vz58xo2bJhCQ0Pl7++v3r17F7tbd3n25ptvqkmTJvabebVu3VpffPGFvd/d53ep6dOny2azadSoUfY2d5/jpEmTZLPZHLb69evb+919fhf9+OOPeuihhxQaGio/Pz/ddNNN2rZtm73f3f/e1KhRo9j7aLPZNGzYMEnu/z4WFhZq/PjxiouLk5+fn2rVqqUXXnjB4TurXPoeXvu3U+GiRYsWGW9vb/Puu++a3bt3myFDhpjg4GBz/PhxV5dWJp9//rl57rnnzOLFi40k89lnnzn0T58+3QQFBZklS5aYb775xvTs2dPExcWZc+fOuabgUurSpYuZO3eu2bVrl0lJSTHdunUzMTExJicnxz7m8ccfN9HR0SYpKcls27bN3Hrrrea2225zYdWls2zZMrNixQqzf/9+s2/fPvPss8+aChUqmF27dhlj3H9+v/a///3P1KhRwzRp0sSMHDnS3u7uc5w4caJp1KiRSU9Pt28nT56097v7/IwxJjMz08TGxpoBAwaYLVu2mO+//958+eWXJjU11T7G3f/enDhxwuE9XL16tZFk1q1bZ4xx//dx6tSpJjQ01CxfvtykpaWZjz/+2Pj7+5tXX33VPsaV7yFhx4latWplhg0bZt8vLCw0UVFRZtq0aS6syjkuDTtFRUUmIiLCvPTSS/a206dPGx8fH/PBBx+4oMJrd+LECSPJbNiwwRjzy3wqVKhgPv74Y/uYPXv2GEkmOTnZVWVes8qVK5u3337bUvM7c+aMqVOnjlm9erXp0KGDPexYYY4TJ040TZs2LbHPCvMzxpixY8eatm3bXrbfin9vRo4caWrVqmWKioos8T52797dDBw40KHt3nvvNf369TPGuP495GMsJ7lw4YK2b9+uzp0729s8PDzUuXNnJScnu7Cy6yMtLU0ZGRkO8w0KClJ8fLzbzjcrK0uSFBISIknavn278vPzHeZYv359xcTEuOUcCwsLtWjRIuXm5qp169aWmt+wYcPUvXt3h7lI1nkPDxw4oKioKNWsWVP9+vXTkSNHJFlnfsuWLVPLli113333KTw8XM2aNdM///lPe7/V/t5cuHBB8+fP18CBA2Wz2SzxPt52221KSkrS/v37JUnffPONNm3apISEBEmufw8tcwdlV/vpp59UWFhY7Csqqlatqr1797qoqusnIyNDkkqc78U+d1JUVKRRo0apTZs2aty4saRf5ujt7V3sS2LdbY7ffvutWrdurfPnz8vf31+fffaZGjZsqJSUFEvMb9GiRdqxY4e2bt1arM8K72F8fLzmzZunevXqKT09XZMnT1a7du20a9cuS8xPkr7//nu9+eabGjNmjJ599llt3bpVI0aMkLe3t/r372+5vzdLlizR6dOnNWDAAEnW+D0dN26csrOzVb9+fXl6eqqwsFBTp05Vv379JLn+3wzCDqBfzgzs2rVLmzZtcnUpTlevXj2lpKQoKytLn3zyifr3768NGza4uiynOHr0qEaOHKnVq1fL19fX1eVcFxf/z1iSmjRpovj4eMXGxuqjjz6Sn5+fCytznqKiIrVs2VJ//etfJUnNmjXTrl27NGfOHPXv39/F1TnfO++8o4SEBEVFRbm6FKf56KOPtGDBAi1cuFCNGjVSSkqKRo0apaioqHLxHvIxlpNUqVJFnp6exVbPHz9+XBERES6q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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Criando um histograma com a distribuição de idade em passageiros do Titanic\n", "\n", @@ -707,7 +3929,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "id": "6qrRb5EIS_nL" }, @@ -736,12 +3958,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "id": "suI74yqZS_nL", "outputId": "eb87a166-4d92-4068-e5ad-e7ce283ed244" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4, 5]\n", + "[1 2 3 4 5]\n" + ] + } + ], "source": [ "# Conversão de lista (estrutura de dados Python) para um array unidimensional com uma linha e quatro colunas:\n", "lista_1 = [1, 2, 3, 4, 5]\n", @@ -755,12 +3986,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "id": "DxCmoOkhS_nM", "outputId": "2c7699a1-519f-4b81-d4e1-836895767375" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[1, 2, 3], [4, 5, 6]]\n", + "[[1 2 3]\n", + " [4 5 6]]\n" + ] + } + ], "source": [ "# Array bidimensional de uma lista Python (uma lista contendo listas)\n", "\n", @@ -775,12 +4016,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "id": "KZ-JzM6US_nM", "outputId": "9c7580bf-627b-4926-ed86-8441bb436861" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[10 20 30 40 50]\n" + ] + } + ], "source": [ "# operações matemáticas podem ser realizadas em todos os valores de um array Numpy de uma vez (impossível em listas python sem loops)\n", "\n", @@ -870,12 +4119,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "id": "LHfl6fALS_nN", "outputId": "5805c47a-4db3-4a7f-8790-dad45dc7ff76" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 4\n", + "2 9\n", + "3 16\n", + "4 25\n", + "dtype: int32" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Operações matemáticas podem ser realizadas em séries e Dataframes Pandas usando funções do numpy\n", "\n", From be11cce6ee12c0077504bdd80bae82fb7f4f1402 Mon Sep 17 00:00:00 2001 From: Taianne Date: Wed, 25 Oct 2023 20:22:05 -0300 Subject: [PATCH 2/2] exercicio para casa --- exercicios/para-casa/paracasa.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercicios/para-casa/paracasa.ipynb b/exercicios/para-casa/paracasa.ipynb index 45156cf..8d2866e 100644 --- a/exercicios/para-casa/paracasa.ipynb +++ b/exercicios/para-casa/paracasa.ipynb @@ -781,7 +781,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "De acordo com a analise em tela, estima-se que o a maioria dos passageiros no navio titanic eram homens" + "De acordo com a analise em tela, estima-se que o a maioria dos passageiros no navio titanic eram do gênero masculino." ] } ],