{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Pandas_IO-3.3.ipynb","version":"0.3.2","provenance":[],"collapsed_sections":["OV2e4bJ12eOi","NXuU1IUz2jnJ","rWFG7JlcAEwc","enq_vtyNCpps","7AVQoMOlNWkK"],"toc_visible":true},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"metadata":{"id":"OV2e4bJ12eOi","colab_type":"text"},"cell_type":"markdown","source":["# Criando os nomes"]},{"metadata":{"id":"7f53UWACvaCX","colab_type":"code","colab":{}},"cell_type":"code","source":["import pandas as pd"],"execution_count":0,"outputs":[]},{"metadata":{"id":"XxOW1IZZwV-K","colab_type":"code","colab":{}},"cell_type":"code","source":["nomes_m = pd.read_json(\"https://servicodados.ibge.gov.br/api/v1/censos/nomes/ranking?qtd=200&sexo=m\")\n","nomes_f = pd.read_json(\"https://servicodados.ibge.gov.br/api/v1/censos/nomes/ranking?qtd=200&sexo=f\")"],"execution_count":0,"outputs":[]},{"metadata":{"id":"glPFYAfIwqag","colab_type":"code","outputId":"5b6526d0-bcca-465d-fcf0-c18e61fea683","colab":{"base_uri":"https://localhost:8080/","height":54},"executionInfo":{"status":"ok","timestamp":1545321193388,"user_tz":120,"elapsed":4437,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["print(\"Quantidade de nomes: \" + str(len(nomes_f) + len(nomes_m)))"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Quantidade de nomes: 400\n"],"name":"stdout"}]},{"metadata":{"id":"ZhxSJe14w6t8","colab_type":"code","colab":{}},"cell_type":"code","source":["frames = [nomes_f, nomes_m]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"TexNJ2VoxotO","colab_type":"code","outputId":"f13c2140-426b-45bc-8343-97e815c39257","colab":{"base_uri":"https://localhost:8080/","height":2196},"executionInfo":{"status":"ok","timestamp":1545321193391,"user_tz":120,"elapsed":4425,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["frames"],"execution_count":5,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[         freq        nome  rank  regiao sexo\n"," 0    11694738       MARIA     1       0    F\n"," 1     3079729         ANA     2       0    F\n"," 2      721637   FRANCISCA     3       0    F\n"," 3      588783     ANTONIA     4       0    F\n"," 4      565621     ADRIANA     5       0    F\n"," 5      562589     JULIANA     6       0    F\n"," 6      551855      MARCIA     7       0    F\n"," 7      531607    FERNANDA     8       0    F\n"," 8      529446    PATRICIA     9       0    F\n"," 9      509869       ALINE    10       0    F\n"," 10     479230      SANDRA    11       0    F\n"," 11     469851      CAMILA    12       0    F\n"," 12     464624      AMANDA    13       0    F\n"," 13     460770       BRUNA    14       0    F\n"," 14     456472     JESSICA    15       0    F\n"," 15     434056     LETICIA    16       0    F\n"," 16     430067       JULIA    17       0    F\n"," 17     429769     LUCIANA    18       0    F\n"," 18     417512     VANESSA    19       0    F\n"," 19     381778     MARIANA    20       0    F\n"," 20     378807    GABRIELA    21       0    F\n"," 21     376202        VERA    22       0    F\n"," 22     366797     VITORIA    23       0    F\n"," 23     360523     LARISSA    24       0    F\n"," 24     358175     CLAUDIA    25       0    F\n"," 25     354980     BEATRIZ    26       0    F\n"," 26     354720        RITA    27       0    F\n"," 27     354625       LUANA    28       0    F\n"," 28     354487       SONIA    29       0    F\n"," 29     345195      RENATA    30       0    F\n"," ..        ...         ...   ...     ...  ...\n"," 170     93355   MARINALVA   171       0    F\n"," 171     92470   TERESINHA   172       0    F\n"," 172     92065      REBECA   173       0    F\n"," 173     91752     GERALDA   174       0    F\n"," 174     90779    CLEONICE   175       0    F\n"," 175     89381   ALEXANDRA   176       0    F\n"," 176     88631        MARA   177       0    F\n"," 177     88574     JENIFER   178       0    F\n"," 178     88505  ELIZANGELA   179       0    F\n"," 179     88064     LILIANE   180       0    F\n"," 180     88023       LIDIA   181       0    F\n"," 181     87953     IRACEMA   182       0    F\n"," 182     86963     LIDIANE   183       0    F\n"," 183     86816       IRACI   184       0    F\n"," 184     86734     MARILIA   185       0    F\n"," 185     85939      SHEILA   186       0    F\n"," 186     85322        INES   187       0    F\n"," 187     85317      NAIARA   188       0    F\n"," 188     84237     POLIANA   189       0    F\n"," 189     83485       DALVA   190       0    F\n"," 190     83288      LURDES   191       0    F\n"," 191     83045      TERESA   192       0    F\n"," 192     82927       ZILDA   193       0    F\n"," 193     82838    LUCILENE   194       0    F\n"," 194     82626       CLARA   195       0    F\n"," 195     82203      ROSANE   196       0    F\n"," 196     81878     IVONETE   197       0    F\n"," 197     81230     LUCIANE   198       0    F\n"," 198     81100     ISADORA   199       0    F\n"," 199     80128       NILZA   200       0    F\n"," \n"," [200 rows x 5 columns],         freq       nome  rank  regiao sexo\n"," 0    5732508       JOSE     1       0    M\n"," 1    2971935       JOAO     2       0    M\n"," 2    2567494    ANTONIO     3       0    M\n"," 3    1765197  FRANCISCO     4       0    M\n"," 4    1483121     CARLOS     5       0    M\n"," 5    1417907      PAULO     6       0    M\n"," 6    1213557      PEDRO     7       0    M\n"," 7    1116818      LUCAS     8       0    M\n"," 8    1102927       LUIZ     9       0    M\n"," 9    1101126     MARCOS    10       0    M\n"," 10    931530       LUIS    11       0    M\n"," 11    922744    GABRIEL    12       0    M\n"," 12    814709     RAFAEL    13       0    M\n"," 13    706527     DANIEL    14       0    M\n"," 14    690098    MARCELO    15       0    M\n"," 15    663271      BRUNO    16       0    M\n"," 16    628539    EDUARDO    17       0    M\n"," 17    615924     FELIPE    18       0    M\n"," 18    611174   RAIMUNDO    19       0    M\n"," 19    598825    RODRIGO    20       0    M\n"," 20    590924     MANOEL    21       0    M\n"," 21    583962     MATEUS    22       0    M\n"," 22    578975      ANDRE    23       0    M\n"," 23    551776   FERNANDO    24       0    M\n"," 24    545581      FABIO    25       0    M\n"," 25    544258   LEONARDO    26       0    M\n"," 26    537598    GUSTAVO    27       0    M\n"," 27    525028  GUILHERME    28       0    M\n"," 28    506483    LEANDRO    29       0    M\n"," 29    492149      TIAGO    30       0    M\n"," ..       ...        ...   ...     ...  ...\n"," 170    76472  ALEXANDRO   171       0    M\n"," 171    75699   VALDEMIR   172       0    M\n"," 172    75619  WANDERSON   173       0    M\n"," 173    75076    JAILSON   174       0    M\n"," 174    75029      DENIS   175       0    M\n"," 175    74729       RIAN   176       0    M\n"," 176    74693      CELIO   177       0    M\n"," 177    74264  CLAUDINEI   178       0    M\n"," 178    74095   DENILSON   179       0    M\n"," 179    73618       IAGO   180       0    M\n"," 180    73467       EDER   181       0    M\n"," 181    73204       YURI   182       0    M\n"," 182    72715    CHARLES   183       0    M\n"," 183    72507     MARLON   184       0    M\n"," 184    72186     ALISON   185       0    M\n"," 185    71812    JONATAN   186       0    M\n"," 186    71759       ERIC   187       0    M\n"," 187    71566      ELTON   188       0    M\n"," 188    71383   VALDECIR   189       0    M\n"," 189    70454     WESLEI   190       0    M\n"," 190    69835   NATANAEL   191       0    M\n"," 191    69692      ERICK   192       0    M\n"," 192    68920    AGNALDO   193       0    M\n"," 193    68526      KAUAN   194       0    M\n"," 194    67758      ODAIR   195       0    M\n"," 195    67207     WALTER   196       0    M\n"," 196    66669    ARLINDO   197       0    M\n"," 197    65736    MICHAEL   198       0    M\n"," 198    65444     ALVARO   199       0    M\n"," 199    65435    GEOVANE   200       0    M\n"," \n"," [200 rows x 5 columns]]"]},"metadata":{"tags":[]},"execution_count":5}]},{"metadata":{"id":"swTtxsp3xhmg","colab_type":"code","colab":{}},"cell_type":"code","source":["nomes = pd.concat(frames)['nome'].to_frame()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"jYI_nw1bx0ZT","colab_type":"code","outputId":"7dd6ec42-3bfb-4605-cdbc-fa68b277f52f","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321193392,"user_tz":120,"elapsed":4413,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":7,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>182</th>\n","      <td>CHARLES</td>\n","    </tr>\n","    <tr>\n","      <th>53</th>\n","      <td>ELAINE</td>\n","    </tr>\n","    <tr>\n","      <th>48</th>\n","      <td>RAQUEL</td>\n","    </tr>\n","    <tr>\n","      <th>123</th>\n","      <td>IVONE</td>\n","    </tr>\n","    <tr>\n","      <th>106</th>\n","      <td>ARTUR</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["        nome\n","182  CHARLES\n","53    ELAINE\n","48    RAQUEL\n","123    IVONE\n","106    ARTUR"]},"metadata":{"tags":[]},"execution_count":7}]},{"metadata":{"id":"NXuU1IUz2jnJ","colab_type":"text"},"cell_type":"markdown","source":["# Incluindo ID dos alunos"]},{"metadata":{"id":"QsOlbPOH2Sxm","colab_type":"code","colab":{}},"cell_type":"code","source":["import numpy as np\n","np.random.seed(123)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"lOKUmPXt2zKe","colab_type":"code","outputId":"f4f6ade4-30ae-4f4c-e498-56583991f24d","colab":{"base_uri":"https://localhost:8080/","height":54},"executionInfo":{"status":"ok","timestamp":1545321193394,"user_tz":120,"elapsed":4406,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["total_alunos = len(nomes)\n","total_alunos"],"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["400"]},"metadata":{"tags":[]},"execution_count":9}]},{"metadata":{"id":"NSZZyQD627Fn","colab_type":"code","colab":{}},"cell_type":"code","source":["nomes[\"id_aluno\"] = np.random.permutation(total_alunos) + 1"],"execution_count":0,"outputs":[]},{"metadata":{"id":"phR4SHAt3E_3","colab_type":"code","outputId":"9b6d18e9-e071-4c97-8e07-6dd927e3c462","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321193397,"user_tz":120,"elapsed":4400,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":11,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>188</th>\n","      <td>POLIANA</td>\n","      <td>369</td>\n","    </tr>\n","    <tr>\n","      <th>57</th>\n","      <td>DAIANE</td>\n","      <td>303</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>FRANCISCO</td>\n","      <td>382</td>\n","    </tr>\n","    <tr>\n","      <th>182</th>\n","      <td>CHARLES</td>\n","      <td>33</td>\n","    </tr>\n","    <tr>\n","      <th>30</th>\n","      <td>ANDERSON</td>\n","      <td>111</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          nome  id_aluno\n","188    POLIANA       369\n","57      DAIANE       303\n","3    FRANCISCO       382\n","182    CHARLES        33\n","30    ANDERSON       111"]},"metadata":{"tags":[]},"execution_count":11}]},{"metadata":{"id":"-GFdbNbI3Gyn","colab_type":"code","colab":{}},"cell_type":"code","source":["dominios = ['@dominiodoemail.com.br', '@servicodoemail.com']\n","nomes['dominio'] = np.random.choice(dominios, total_alunos)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"_CCuE4e9355N","colab_type":"code","outputId":"a0d40751-2d33-4150-8c6f-9c97df094237","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321193399,"user_tz":120,"elapsed":4392,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":13,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>84</th>\n","      <td>SEVERINO</td>\n","      <td>78</td>\n","      <td>@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>0</th>\n","      <td>JOSE</td>\n","      <td>331</td>\n","      <td>@servicodoemail.com</td>\n","    </tr>\n","    <tr>\n","      <th>179</th>\n","      <td>IAGO</td>\n","      <td>340</td>\n","      <td>@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>SANDRA</td>\n","      <td>174</td>\n","      <td>@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>171</th>\n","      <td>TERESINHA</td>\n","      <td>45</td>\n","      <td>@dominiodoemail.com.br</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          nome  id_aluno                 dominio\n","84    SEVERINO        78  @dominiodoemail.com.br\n","0         JOSE       331     @servicodoemail.com\n","179       IAGO       340  @dominiodoemail.com.br\n","10      SANDRA       174  @dominiodoemail.com.br\n","171  TERESINHA        45  @dominiodoemail.com.br"]},"metadata":{"tags":[]},"execution_count":13}]},{"metadata":{"id":"6G24smfL363Q","colab_type":"code","colab":{}},"cell_type":"code","source":["nomes['email'] = nomes.nome.str.cat(nomes.dominio).str.lower()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Sn7M84lw4Nil","colab_type":"code","outputId":"2b3c0775-b181-47f1-f999-e5b592ca84fa","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321193616,"user_tz":120,"elapsed":4597,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":15,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","      <th>email</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>114</th>\n","      <td>ARTHUR</td>\n","      <td>320</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>arthur@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>57</th>\n","      <td>DAIANE</td>\n","      <td>303</td>\n","      <td>@servicodoemail.com</td>\n","      <td>daiane@servicodoemail.com</td>\n","    </tr>\n","    <tr>\n","      <th>85</th>\n","      <td>HELENA</td>\n","      <td>221</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>helena@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>183</th>\n","      <td>IRACI</td>\n","      <td>8</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>iraci@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>189</th>\n","      <td>DALVA</td>\n","      <td>137</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>dalva@dominiodoemail.com.br</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["       nome  id_aluno                 dominio                         email\n","114  ARTHUR       320  @dominiodoemail.com.br  arthur@dominiodoemail.com.br\n","57   DAIANE       303     @servicodoemail.com     daiane@servicodoemail.com\n","85   HELENA       221  @dominiodoemail.com.br  helena@dominiodoemail.com.br\n","183   IRACI         8  @dominiodoemail.com.br   iraci@dominiodoemail.com.br\n","189   DALVA       137  @dominiodoemail.com.br   dalva@dominiodoemail.com.br"]},"metadata":{"tags":[]},"execution_count":15}]},{"metadata":{"id":"rWFG7JlcAEwc","colab_type":"text"},"cell_type":"markdown","source":["# Criando a tabela Cursos"]},{"metadata":{"id":"6j05EJoi_yXg","colab_type":"code","outputId":"41196895-212d-47d9-8698-b7028e0c4cd6","colab":{"base_uri":"https://localhost:8080/","height":105},"executionInfo":{"status":"ok","timestamp":1545321200037,"user_tz":120,"elapsed":11002,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["!pip3 install html5lib\n","!pip3 install lxml"],"execution_count":16,"outputs":[{"output_type":"stream","text":["Requirement already satisfied: html5lib in /usr/local/lib/python3.6/dist-packages (1.0.1)\n","Requirement already satisfied: webencodings in /usr/local/lib/python3.6/dist-packages (from html5lib) (0.5.1)\n","Requirement already satisfied: six>=1.9 in /usr/local/lib/python3.6/dist-packages (from html5lib) (1.11.0)\n","Requirement already satisfied: lxml in /usr/local/lib/python3.6/dist-packages (4.2.5)\n"],"name":"stdout"}]},{"metadata":{"id":"V3QDmWgKAl_O","colab_type":"code","colab":{}},"cell_type":"code","source":["import html5lib"],"execution_count":0,"outputs":[]},{"metadata":{"id":"enuJcHMuAqER","colab_type":"code","outputId":"6271d53b-2be2-4362-ffcb-cd763fd733a9","colab":{"base_uri":"https://localhost:8080/","height":394},"executionInfo":{"status":"ok","timestamp":1545321208792,"user_tz":120,"elapsed":19748,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["url = 'http://tabela-cursos.herokuapp.com/index.html'\n","cursos = pd.read_html(url)\n","cursos"],"execution_count":18,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[                          Nome do curso\n"," 0                 Lógica de programação\n"," 1                         Java para Web\n"," 2                           C# para Web\n"," 3                         Ruby on Rails\n"," 4                      Cursos de Python\n"," 5                         PHP com MySql\n"," 6                         .NET para web\n"," 7            Novas integrações com Java\n"," 8                          TDD com Java\n"," 9                   Código limpo com C#\n"," 10  Preparatório para certificação Java\n"," 11                      Hardware básico\n"," 12                Persistência com .NET\n"," 13                  Desenvolvendo jogos\n"," 14                     Análise de dados\n"," 15                   Estatística básica\n"," 16                  Internet das coisas\n"," 17                Programação funcional\n"," 18                Boas práticas em Java\n"," 19          Orientação objetos com Java]"]},"metadata":{"tags":[]},"execution_count":18}]},{"metadata":{"id":"yF95u6gjAz9x","colab_type":"code","outputId":"7c22cb25-c0db-4d5b-cb90-414a0f8fd946","colab":{"base_uri":"https://localhost:8080/","height":54},"executionInfo":{"status":"ok","timestamp":1545321208794,"user_tz":120,"elapsed":19743,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["type(cursos)"],"execution_count":19,"outputs":[{"output_type":"execute_result","data":{"text/plain":["list"]},"metadata":{"tags":[]},"execution_count":19}]},{"metadata":{"id":"U9OaBLe1BCnD","colab_type":"code","colab":{}},"cell_type":"code","source":["cursos = cursos[0]"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Lgs_KUwFBF8G","colab_type":"code","outputId":"82ec079c-f286-48e2-85a0-5bda83b0160a","colab":{"base_uri":"https://localhost:8080/","height":54},"executionInfo":{"status":"ok","timestamp":1545321208796,"user_tz":120,"elapsed":19737,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["type(cursos)"],"execution_count":21,"outputs":[{"output_type":"execute_result","data":{"text/plain":["pandas.core.frame.DataFrame"]},"metadata":{"tags":[]},"execution_count":21}]},{"metadata":{"id":"mX4W0KOpBKh1","colab_type":"code","outputId":"fa7d2b59-f6d2-4f49-e514-971cea37f689","colab":{"base_uri":"https://localhost:8080/","height":309},"executionInfo":{"status":"ok","timestamp":1545321208797,"user_tz":120,"elapsed":19731,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["cursos.head()"],"execution_count":22,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>Nome do curso</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>Cursos de Python</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["           Nome do curso\n","0  Lógica de programação\n","1          Java para Web\n","2            C# para Web\n","3          Ruby on Rails\n","4       Cursos de Python"]},"metadata":{"tags":[]},"execution_count":22}]},{"metadata":{"id":"enq_vtyNCpps","colab_type":"text"},"cell_type":"markdown","source":["# Alterando o index de cursos"]},{"metadata":{"id":"_koRYbS7BM7d","colab_type":"code","colab":{}},"cell_type":"code","source":["cursos = cursos.rename(columns={'Nome do curso' : 'nome_do_curso'})"],"execution_count":0,"outputs":[]},{"metadata":{"id":"sFQLU45gC3m0","colab_type":"code","outputId":"465e518d-c87d-4283-94c8-181d25af0764","colab":{"base_uri":"https://localhost:8080/","height":148},"executionInfo":{"status":"ok","timestamp":1545321208799,"user_tz":120,"elapsed":19725,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["cursos.head(2)"],"execution_count":24,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>Java para Web</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["           nome_do_curso\n","0  Lógica de programação\n","1          Java para Web"]},"metadata":{"tags":[]},"execution_count":24}]},{"metadata":{"id":"1yB5jnREC8rU","colab_type":"code","colab":{}},"cell_type":"code","source":["cursos['id'] = cursos.index + 1"],"execution_count":0,"outputs":[]},{"metadata":{"id":"wEVs9MzuDGzE","colab_type":"code","outputId":"653079e7-d36f-4312-a4f9-14353eda49ba","colab":{"base_uri":"https://localhost:8080/","height":258},"executionInfo":{"status":"ok","timestamp":1545321208802,"user_tz":120,"elapsed":19721,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["cursos.head()"],"execution_count":26,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome_do_curso</th>\n","      <th>id</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>Lógica de programação</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>Java para Web</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>C# para Web</td>\n","      <td>3</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>Ruby on Rails</td>\n","      <td>4</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>Cursos de Python</td>\n","      <td>5</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["           nome_do_curso  id\n","0  Lógica de programação   1\n","1          Java para Web   2\n","2            C# para Web   3\n","3          Ruby on Rails   4\n","4       Cursos de Python   5"]},"metadata":{"tags":[]},"execution_count":26}]},{"metadata":{"id":"0kJXsjEwDJcM","colab_type":"code","colab":{}},"cell_type":"code","source":["cursos = cursos.set_index('id')"],"execution_count":0,"outputs":[]},{"metadata":{"id":"2C2eR9HwDVvg","colab_type":"code","outputId":"db7f7a5f-d1b2-4b87-978d-151f8c00c69f","colab":{"base_uri":"https://localhost:8080/","height":289},"executionInfo":{"status":"ok","timestamp":1545321208805,"user_tz":120,"elapsed":19718,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["cursos.head(5)"],"execution_count":28,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","    <tr>\n","      <th>id</th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>1</th>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>Cursos de Python</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["            nome_do_curso\n","id                       \n","1   Lógica de programação\n","2           Java para Web\n","3             C# para Web\n","4           Ruby on Rails\n","5        Cursos de Python"]},"metadata":{"tags":[]},"execution_count":28}]},{"metadata":{"id":"7AVQoMOlNWkK","colab_type":"text"},"cell_type":"markdown","source":["# Matriculando os alunos nos cursos"]},{"metadata":{"id":"yLtJnrAHNCHr","colab_type":"code","outputId":"a2f0a3ac-6d2e-4672-a256-22bf193a4624","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321208805,"user_tz":120,"elapsed":19711,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":29,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","      <th>email</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>59</th>\n","      <td>ISABEL</td>\n","      <td>83</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>isabel@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>172</th>\n","      <td>REBECA</td>\n","      <td>165</td>\n","      <td>@servicodoemail.com</td>\n","      <td>rebeca@servicodoemail.com</td>\n","    </tr>\n","    <tr>\n","      <th>130</th>\n","      <td>JUNIOR</td>\n","      <td>184</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>junior@dominiodoemail.com.br</td>\n","    </tr>\n","    <tr>\n","      <th>70</th>\n","      <td>JOAQUIM</td>\n","      <td>248</td>\n","      <td>@servicodoemail.com</td>\n","      <td>joaquim@servicodoemail.com</td>\n","    </tr>\n","    <tr>\n","      <th>171</th>\n","      <td>VALDEMIR</td>\n","      <td>3</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>valdemir@dominiodoemail.com.br</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["         nome  id_aluno                 dominio  \\\n","59     ISABEL        83  @dominiodoemail.com.br   \n","172    REBECA       165     @servicodoemail.com   \n","130    JUNIOR       184  @dominiodoemail.com.br   \n","70    JOAQUIM       248     @servicodoemail.com   \n","171  VALDEMIR         3  @dominiodoemail.com.br   \n","\n","                              email  \n","59     isabel@dominiodoemail.com.br  \n","172       rebeca@servicodoemail.com  \n","130    junior@dominiodoemail.com.br  \n","70       joaquim@servicodoemail.com  \n","171  valdemir@dominiodoemail.com.br  "]},"metadata":{"tags":[]},"execution_count":29}]},{"metadata":{"id":"c87LZA_mNNtf","colab_type":"code","colab":{}},"cell_type":"code","source":["nomes['matriculas'] = np.ceil(np.random.exponential(size=total_alunos) * 1.5).astype(int) "],"execution_count":0,"outputs":[]},{"metadata":{"id":"dQHn7LiCNzrJ","colab_type":"code","outputId":"9219608f-6f2a-46d9-cb02-963e85e770c8","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321208808,"user_tz":120,"elapsed":19703,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":31,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","      <th>email</th>\n","      <th>matriculas</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>133</th>\n","      <td>RUAN</td>\n","      <td>130</td>\n","      <td>@servicodoemail.com</td>\n","      <td>ruan@servicodoemail.com</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>44</th>\n","      <td>RAIMUNDA</td>\n","      <td>259</td>\n","      <td>@servicodoemail.com</td>\n","      <td>raimunda@servicodoemail.com</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>50</th>\n","      <td>RAFAELA</td>\n","      <td>27</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>rafaela@dominiodoemail.com.br</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>45</th>\n","      <td>ADRIANO</td>\n","      <td>196</td>\n","      <td>@servicodoemail.com</td>\n","      <td>adriano@servicodoemail.com</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>117</th>\n","      <td>PAMELA</td>\n","      <td>189</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>pamela@dominiodoemail.com.br</td>\n","      <td>1</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["         nome  id_aluno                 dominio  \\\n","133      RUAN       130     @servicodoemail.com   \n","44   RAIMUNDA       259     @servicodoemail.com   \n","50    RAFAELA        27  @dominiodoemail.com.br   \n","45    ADRIANO       196     @servicodoemail.com   \n","117    PAMELA       189  @dominiodoemail.com.br   \n","\n","                             email  matriculas  \n","133        ruan@servicodoemail.com           1  \n","44     raimunda@servicodoemail.com           1  \n","50   rafaela@dominiodoemail.com.br           1  \n","45      adriano@servicodoemail.com           2  \n","117   pamela@dominiodoemail.com.br           1  "]},"metadata":{"tags":[]},"execution_count":31}]},{"metadata":{"id":"NHbxmhGWN1gC","colab_type":"code","outputId":"79991e9a-e2fe-48a2-91a7-80c28bf4f66a","colab":{"base_uri":"https://localhost:8080/","height":190},"executionInfo":{"status":"ok","timestamp":1545321208809,"user_tz":120,"elapsed":19698,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.matriculas.describe()"],"execution_count":32,"outputs":[{"output_type":"execute_result","data":{"text/plain":["count    400.000000\n","mean       2.147500\n","std        1.619352\n","min        1.000000\n","25%        1.000000\n","50%        1.500000\n","75%        3.000000\n","max       10.000000\n","Name: matriculas, dtype: float64"]},"metadata":{"tags":[]},"execution_count":32}]},{"metadata":{"id":"IO0eak1GOH1x","colab_type":"code","colab":{}},"cell_type":"code","source":["import seaborn as sns"],"execution_count":0,"outputs":[]},{"metadata":{"id":"17t8xOhcOTh5","colab_type":"code","outputId":"41429582-a5e5-4c1a-a38f-238e8aeab535","colab":{"base_uri":"https://localhost:8080/","height":398},"executionInfo":{"status":"ok","timestamp":1545321209317,"user_tz":120,"elapsed":20197,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["sns.distplot(nomes.matriculas)"],"execution_count":34,"outputs":[{"output_type":"execute_result","data":{"text/plain":["<matplotlib.axes._subplots.AxesSubplot at 0x7fd674ce7a90>"]},"metadata":{"tags":[]},"execution_count":34},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAeYAAAFYCAYAAACGU1/KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xt8VfWd7//32rfc9k6yE7ITEkKI\n4RKIRUDFIqioYD2jtnN6Eep46amnHmfqaTv+OKMyjxn6mA5UO3Z6nRl9tLbHB1TB2rTaowVrlYqV\ni6iAhIsQIJALud92LjvZl98fuZBwSwI7WSvZr+fjofu29lqf/U3Ie6+1vuv7NSKRSEQAAMASbGYX\nAAAAziCYAQCwEIIZAAALIZgBALAQghkAAAshmAEAsBDHWG+wtrZ1rDd5QV5vohob280uwzJoj3PR\nJueiTQajPc5Fmwzm9SbK4bAPe/mY3mMeSUPFAtrjXLTJuWiTwWiPc9Emg420PWI6mAEAsBqCGQAA\nCyGYAQCwEIIZAAALIZgBALAQghkAAAshmAEAsBCCGQAACyGYAQCwEIIZAAALIZgBALAQghkAAAsZ\n89mlcK6teyqisp6l83Kish4AgHnYYwYAwEIIZgAALIRgBgDAQghmAAAshGAGAMBCCGYAACyEYAYA\nwEIIZgAALIRgBgDAQghmAAAshGAGAMBCCGYAACyEYAYAwEIIZgAALIRgBgDAQghmAAAshGAGAMBC\nCGYAACyEYAYAwEIIZgAALIRgBgDAQghmAAAshGAGAMBCCGYAACyEYAYAwEIIZgAALIRgBgDAQghm\nAAAshGAGAMBCCGYAACyEYAYAwEIIZgAALIRgBgDAQghmAAAshGAGAMBCCGYAACyEYAYAwEIIZgAA\nLIRgBgDAQhzDWWjdunXau3evDMPQ6tWrNXfu3P7XfvWrX+nVV1+VzWbTlVdeqX/8x38ctWIBAJjo\nhtxj3rVrl8rKyrRp0yatXbtWa9eu7X/N7/frueee069+9Su9+OKLKi0t1Z49e0a1YAAAJrIhg3n7\n9u1atmyZJKmgoEDNzc3y+/2SJKfTKafTqfb2dgWDQXV0dCglJWV0KwYAYAIbMpjr6urk9Xr7H6el\npam2tlaSFBcXp69//etatmyZbr75Zl111VXKz88fvWoBAJjghnWOeaBIJNJ/3+/369lnn9XmzZvl\n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\nxS3TNTmdvWQAgyXFOzVjSqpmTEkd9HygO6Tqhnad7g3q043tamju6Rx34nSrSitbLrpeh92Qy2mX\nc0Av9b77jgH3nQ6b7Hab7DZDVxWkD3i+570Dl7XZDNkM9d72dpjrvW8Youf7BDZkMG/fvl3Lli2T\nJBUUFKi5uVl+v19ut1unTp1SSkqKJk+eLEm66aabtH379jEL5lPVfr23/7R8qQm6bk6mrpuTOeja\nTgAYjjinfdCoawOFwxE1t3WpobVn5LXdn9Qo0BVSoCukzu6QQqGI2jq7FegKqSMQVGswrPAwOrm9\nu6/qsmruCeue+4bOhHX/bc8LGnAzKMzPznWj90ljwBMDFzn7vUbvAsaAdfVtNyMtUcHuUH89fV8u\n7LbBXzD6eugPfG3Q/d4vJ/azevPbLvD47PXaz/OlpjvY83Pr7PsZdoUU6A6ptb1L9c2dqm8JyGE3\n9H++PN+0/gdDbrWurk5FRUX9j9PS0lRbWyu3263a2lqlpaUNeu3UqVOjU+l5FOZ59YP/vUTJiU6+\nPQIYFTabIa8nrudSy2zJ39k96PXzdYYLhXs6p/X0XO+7H1F3KNzfQz1/cnJPD/beXux9y/c97usk\nF470dJQLRyKKhPvun+lI1+zv6nktElFEUiTcezvgy0Gk90G478lBN73/H7R83+tnFux/OXLm+Ujf\n873b7luuurHjElraGuJdduVlemQ3ccjmEX8diFzm9Q4ZGed+I7289V3u+6Nbz6X40vJCs0sYNVb7\nbNRzcVarR7JeTVarBxPPkF0OfT6f6urOjBRUU1OjjN40PPu16upq+Xy+USgTAIDYMGQwL168WFu2\nbJEklZSUyOfzye3uGZhgypQp8vv9Ki8vVzAY1Ntvv63FixePbsUAAExgRmQYx6affvpp7d69W4Zh\naM2aNTpw4IA8Ho+WL1+u999/X08//bQk6bbbbtODDz446kUDADBRDSuYAQDA2GBYGwAALIRgBgDA\nQmIymNetW6cVK1Zo5cqV2rdvn9nlWML3vvc9rVixQl/4whf0xhtvmF2OJXR2dmrZsmUqLi42uxRL\nePXVV/XZz35Wn//857V161azyzFdW1ubHnnkEd13331auXKltm3bZnZJpvnkk0+0bNkybdiwQZJU\nVVWl++67T/fcc4+++c1vqqury+QKx9b52uMrX/mK7r33Xn3lK19RbW3tRd8fc8E8cIjRtWvXau3a\ntWaXZLodO3boyJEj2rRpk37+859r3bp1ZpdkCf/1X/+llJQUs8uwhMbGRv3Hf/yHXnjhBT3zzDP6\n05/+ZHZJpvvtb3+r/Px8rV+/Xj/60Y9i9m9Je3u7vvOd72jRokX9z/34xz/WPffcoxdeeEF5eXl6\n+eWXTaxwbJ2vPX74wx/q7rvv1oYNG7R8+XL98pe/vOg6Yi6YLzTEaCy79tpr9aMf/UiSlJycrI6O\nDoVCIZOrMldpaamOHj2qpUuXml2KJWzfvl2LFi2S2+2Wz+fTd77zHbNLMp3X61VTU8/EFy0tLfJ6\nY3NqWZfLpZ/97GeDxrDYuXOnbr31VknSzTffrO3bt5tV3pg7X3usWbNGn/nMZyQN/r25kJgL5rq6\nukH/gPqGGI1ldrtdiYk9M+S8/PLLuvHGG2W3j2yqvYnmqaee0uOPP252GZZRXl6uzs5OPfzww7rn\nnnti6g/thdxxxx2qrKzU8uXLde+99+qxxx4zuyRTOBwOxcfHD3quo6NDLpdLkpSenh5Tf2PP1x6J\niYmy2+0KhUJ64YUXdNddd118HaNZ4HjA1WJnvPnmm3r55Zf1i1/8wuxSTPW73/1O8+bNU25urtml\nWEpTU5N++tOfqrKyUvfff7/efvvtmB6j/pVXXlF2draee+45HTp0SKtXr6Y/wnnwN7ZHKBTSP/zD\nP+jTn/70oMPc5xNzwXyxIUZj2bZt2/TMM8/o5z//uTwe88cPN9PWrVt16tQpbd26VadPn5bL5VJW\nVpauv/56s0szTXp6uubPny+Hw6GpU6cqKSlJDQ0NSk9PN7s003z44YdasmSJJKmwsFA1NTUKhUIx\nf7RJ6tlD7OzsVHx8PEM193riiSeUl5enRx55ZMhlY+5Q9sWGGI1Vra2t+t73vqdnn31WqampQ79h\ngvvhD3+o3/zmN3rppZf0pS99SX/3d38X06EsSUuWLNGOHTsUDofV2Nio9vb2mD2n2icvL0979+6V\nJFVUVCgpKYlQ7nX99df3/5194403dMMNN5hckbleffVVOZ1OfeMb3xjW8jE58tfZQ4wWFsb2bDGb\nNm3ST37yE+Xn5/c/99RTTyk7O9vEqqzhJz/5iXJycvT5z3/e7FJMt3Hjxv7etX/7t3/b37knVrW1\ntWn16tWqr69XMBjUN7/5zSEPUU5E+/fv11NPPaWKigo5HA5lZmbq6aef1uOPP65AIKDs7Gx997vf\nldPpNLvUMXG+9qivr1dcXFz/TmBBQYG+/e1vX3AdMRnMAABYVcwdygYAwMoIZgAALIRgBgDAQghm\nAAAshGAGAMBCCGZgAvjwww916tSp87523333XdLY57fccovKysoutzQAI0QwAxNAcXHxBYN5/fr1\nDHwBjCMxNyQnYFU7d+7UM888o6ysLH388ce66qqrNGvWLP3xj39UU1OTfvazn+mtt97SK6+8IqfT\nqbi4OP3gBz/Qzp07tXnzZu3bt09PPPGE/vM//1OFhYU6ePCgnn/+ec2ZM0clJSUKBoN64oknVFVV\nJUl69NFHtXDhQs2aNUslJSVyOBwqLi7We++9p6effrq/rvb2dj322GNqampSW1ubbr/9dj300EOq\nrq7WqlWrJPXMXb1ixQp98YtfNKXtgImEPWbAQvbt26fHHntMv/nNb/T73/9eycnJWr9+vYqKirR5\n82YFAgE999xz2rBhg3JycvTqq69q+fLlmj17th5//PH+kacSExO1YcOGQXvKzz33nLKysrRx40Y9\n+eST+vWvfz2smurr63Xrrbdq/fr12rhxo5599ln5/X794Q9/0BVXXKH169drw4YN6uzsHJU2AWIN\ne8yAhRQUFPSPV56amqr58+dLkjIzM+X3+5WTk6OHHnpINptNFRUVF5yAZcGCBec8t2/fPn35y1+W\nJE2bNk3/9m//Nqya0tPT9cEHH2jjxo1yOp0KBAJqamrSDTfcoBdeeEGPP/64brrpJq1YseJSPjKA\nsxDMgIWcfS544OOqqipt2LBBr732mtLT0/XUU09dcD3nG5fYMAyFw+GLbr+7u/uc555//nl1dXXp\nxRdflGEYuu666yT1fIl47bXX9P7772vz5s16/vnntXHjxouuH8DQOJQNjBP19fXyer1KT09XU1OT\n3n33XXV1dUnqCd3zhepA8+fP17Zt2yRJ5eXleuCBByRJbre7/7zzzp07z7vdgoICGYahP/3pT+rs\n7FRXV5d+//vf6+OPP9b111+vNWvWqKqqSsFgMJofGYhJ7DED48Ts2bMlSV/84hc1depUfeMb39C3\nv/1t3XTTTVq8eLHWrFmj1atXX/D99913n/7pn/5J99xzj8LhsL71rW9Jkh566CE9+OCDysvLU2Fh\nYX9I9/nCF76gRx99VO+++65uvfVW3XXXXVq1apXWrl2rNWvWyOVyKRKJ6Gtf+5ocDv6kAJeL2aUA\nALAQDmUDAGAhBDMAABZCMAMAYCEEMwAAFkIwAwBgIQQzAAAWQjADAGAhBDMAABby/wNMq28PDKBR\nYgAAAABJRU5ErkJggg==\n","text/plain":["<matplotlib.figure.Figure at 0x7fd674ce7470>"]},"metadata":{"tags":[]}}]},{"metadata":{"id":"CM9DPt25OXNz","colab_type":"code","outputId":"414a1b4e-13a9-40ab-9a8c-938340c6f28e","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321209319,"user_tz":120,"elapsed":20192,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.matriculas.value_counts()"],"execution_count":35,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1     200\n","2      87\n","3      46\n","4      30\n","5      15\n","7       9\n","6       9\n","8       2\n","10      1\n","9       1\n","Name: matriculas, dtype: int64"]},"metadata":{"tags":[]},"execution_count":35}]},{"metadata":{"id":"TSc_Tk0UtTuj","colab_type":"code","outputId":"294a0a8d-6439-43bd-ab70-6f56d04e55b7","colab":{"base_uri":"https://localhost:8080/","height":224},"executionInfo":{"status":"ok","timestamp":1545321209321,"user_tz":120,"elapsed":20185,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(5)"],"execution_count":36,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","      <th>email</th>\n","      <th>matriculas</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>97</th>\n","      <td>BARBARA</td>\n","      <td>201</td>\n","      <td>@servicodoemail.com</td>\n","      <td>barbara@servicodoemail.com</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>170</th>\n","      <td>ALEXANDRO</td>\n","      <td>341</td>\n","      <td>@servicodoemail.com</td>\n","      <td>alexandro@servicodoemail.com</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>197</th>\n","      <td>MICHAEL</td>\n","      <td>323</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>michael@dominiodoemail.com.br</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>196</th>\n","      <td>ARLINDO</td>\n","      <td>99</td>\n","      <td>@servicodoemail.com</td>\n","      <td>arlindo@servicodoemail.com</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>138</th>\n","      <td>NEUSA</td>\n","      <td>75</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>neusa@dominiodoemail.com.br</td>\n","      <td>2</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          nome  id_aluno                 dominio  \\\n","97     BARBARA       201     @servicodoemail.com   \n","170  ALEXANDRO       341     @servicodoemail.com   \n","197    MICHAEL       323  @dominiodoemail.com.br   \n","196    ARLINDO        99     @servicodoemail.com   \n","138      NEUSA        75  @dominiodoemail.com.br   \n","\n","                             email  matriculas  \n","97      barbara@servicodoemail.com           1  \n","170   alexandro@servicodoemail.com           1  \n","197  michael@dominiodoemail.com.br           2  \n","196     arlindo@servicodoemail.com           1  \n","138    neusa@dominiodoemail.com.br           2  "]},"metadata":{"tags":[]},"execution_count":36}]},{"metadata":{"id":"Mpw0I-iHt2y2","colab_type":"text"},"cell_type":"markdown","source":["# Selecionando cursos"]},{"metadata":{"id":"dCrXkDp3tkQh","colab_type":"code","outputId":"f6ebe797-b72a-410a-f809-0f16f9a722f1","colab":{"base_uri":"https://localhost:8080/","height":162},"executionInfo":{"status":"ok","timestamp":1545321209322,"user_tz":120,"elapsed":20177,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(3)"],"execution_count":37,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","      <th>email</th>\n","      <th>matriculas</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>34</th>\n","      <td>CRISTIANE</td>\n","      <td>350</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>cristiane@dominiodoemail.com.br</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>154</th>\n","      <td>NICOLE</td>\n","      <td>182</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>nicole@dominiodoemail.com.br</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>191</th>\n","      <td>TERESA</td>\n","      <td>264</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>teresa@dominiodoemail.com.br</td>\n","      <td>1</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          nome  id_aluno                 dominio  \\\n","34   CRISTIANE       350  @dominiodoemail.com.br   \n","154     NICOLE       182  @dominiodoemail.com.br   \n","191     TERESA       264  @dominiodoemail.com.br   \n","\n","                               email  matriculas  \n","34   cristiane@dominiodoemail.com.br           1  \n","154     nicole@dominiodoemail.com.br           2  \n","191     teresa@dominiodoemail.com.br           1  "]},"metadata":{"tags":[]},"execution_count":37}]},{"metadata":{"id":"czPyMmylt-03","colab_type":"code","colab":{}},"cell_type":"code","source":["todas_matriculas = []\n","x = np.random.rand(20)\n","prob = x  / sum(x)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"OTZJxQAouUV7","colab_type":"code","colab":{}},"cell_type":"code","source":["for index, row in nomes.iterrows():\n","  id = row.id_aluno\n","  matriculas = row.matriculas\n","  for i in range(matriculas):\n","    mat = [id, np.random.choice(cursos.index, p = prob)]\n","    todas_matriculas.append(mat)\n","    \n","matriculas = pd.DataFrame(todas_matriculas, columns = ['id_aluno', 'id_curso'])"],"execution_count":0,"outputs":[]},{"metadata":{"id":"LQg7x8qmvOxR","colab_type":"code","outputId":"2241e9ff-a4bb-4489-8c03-6bae872812ea","colab":{"base_uri":"https://localhost:8080/","height":204},"executionInfo":{"status":"ok","timestamp":1545321209844,"user_tz":120,"elapsed":20687,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["matriculas.head()"],"execution_count":40,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>id_aluno</th>\n","      <th>id_curso</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>235</td>\n","      <td>19</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>235</td>\n","      <td>19</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>43</td>\n","      <td>9</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>43</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>43</td>\n","      <td>19</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["   id_aluno  id_curso\n","0       235        19\n","1       235        19\n","2        43         9\n","3        43         1\n","4        43        19"]},"metadata":{"tags":[]},"execution_count":40}]},{"metadata":{"id":"nSrKX3g0vQ--","colab_type":"code","outputId":"78f9bff4-a7e6-43ec-f5f8-84654c5a7878","colab":{"base_uri":"https://localhost:8080/","height":700},"executionInfo":{"status":"ok","timestamp":1545321209844,"user_tz":120,"elapsed":20677,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["matriculas.groupby('id_curso').count().join(cursos['nome_do_curso']).rename(columns={'id_aluno':'quantidade_de_alunos'})"],"execution_count":41,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>quantidade_de_alunos</th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","    <tr>\n","      <th>id_curso</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>1</th>\n","      <td>62</td>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>52</td>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>25</td>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>33</td>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>59</td>\n","      <td>Cursos de Python</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>17</td>\n","      <td>PHP com MySql</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>56</td>\n","      <td>.NET para web</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>37</td>\n","      <td>Novas integrações com Java</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>70</td>\n","      <td>TDD com Java</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>12</td>\n","      <td>Código limpo com C#</td>\n","    </tr>\n","    <tr>\n","      <th>11</th>\n","      <td>81</td>\n","      <td>Preparatório para certificação Java</td>\n","    </tr>\n","    <tr>\n","      <th>12</th>\n","      <td>22</td>\n","      <td>Hardware básico</td>\n","    </tr>\n","    <tr>\n","      <th>13</th>\n","      <td>52</td>\n","      <td>Persistência com .NET</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>31</td>\n","      <td>Desenvolvendo jogos</td>\n","    </tr>\n","    <tr>\n","      <th>15</th>\n","      <td>82</td>\n","      <td>Análise de dados</td>\n","    </tr>\n","    <tr>\n","      <th>16</th>\n","      <td>16</td>\n","      <td>Estatística básica</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>44</td>\n","      <td>Internet das coisas</td>\n","    </tr>\n","    <tr>\n","      <th>18</th>\n","      <td>23</td>\n","      <td>Programação funcional</td>\n","    </tr>\n","    <tr>\n","      <th>19</th>\n","      <td>67</td>\n","      <td>Boas práticas em Java</td>\n","    </tr>\n","    <tr>\n","      <th>20</th>\n","      <td>18</td>\n","      <td>Orientação objetos com Java</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          quantidade_de_alunos                        nome_do_curso\n","id_curso                                                           \n","1                           62                Lógica de programação\n","2                           52                        Java para Web\n","3                           25                          C# para Web\n","4                           33                        Ruby on Rails\n","5                           59                     Cursos de Python\n","6                           17                        PHP com MySql\n","7                           56                        .NET para web\n","8                           37           Novas integrações com Java\n","9                           70                         TDD com Java\n","10                          12                  Código limpo com C#\n","11                          81  Preparatório para certificação Java\n","12                          22                      Hardware básico\n","13                          52                Persistência com .NET\n","14                          31                  Desenvolvendo jogos\n","15                          82                     Análise de dados\n","16                          16                   Estatística básica\n","17                          44                  Internet das coisas\n","18                          23                Programação funcional\n","19                          67                Boas práticas em Java\n","20                          18          Orientação objetos com Java"]},"metadata":{"tags":[]},"execution_count":41}]},{"metadata":{"id":"Cz9tW9KuvuF5","colab_type":"code","outputId":"8b1fac9d-6b7e-424f-b4c4-31c35a4db00f","colab":{"base_uri":"https://localhost:8080/","height":142},"executionInfo":{"status":"ok","timestamp":1545321209844,"user_tz":120,"elapsed":20666,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["nomes.sample(3)"],"execution_count":42,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome</th>\n","      <th>id_aluno</th>\n","      <th>dominio</th>\n","      <th>email</th>\n","      <th>matriculas</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>167</th>\n","      <td>TAINARA</td>\n","      <td>128</td>\n","      <td>@servicodoemail.com</td>\n","      <td>tainara@servicodoemail.com</td>\n","      <td>2</td>\n","    </tr>\n","    <tr>\n","      <th>141</th>\n","      <td>NEIDE</td>\n","      <td>325</td>\n","      <td>@dominiodoemail.com.br</td>\n","      <td>neide@dominiodoemail.com.br</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>88</th>\n","      <td>GILMAR</td>\n","      <td>142</td>\n","      <td>@servicodoemail.com</td>\n","      <td>gilmar@servicodoemail.com</td>\n","      <td>1</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["        nome  id_aluno                 dominio                        email  \\\n","167  TAINARA       128     @servicodoemail.com   tainara@servicodoemail.com   \n","141    NEIDE       325  @dominiodoemail.com.br  neide@dominiodoemail.com.br   \n","88    GILMAR       142     @servicodoemail.com    gilmar@servicodoemail.com   \n","\n","     matriculas  \n","167           2  \n","141           1  \n","88            1  "]},"metadata":{"tags":[]},"execution_count":42}]},{"metadata":{"id":"ENlo-LIxwKAi","colab_type":"code","outputId":"738419df-c1f0-41b3-9c24-abd838dec0d2","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1545321209845,"user_tz":120,"elapsed":20655,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["cursos.head()"],"execution_count":43,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","    <tr>\n","      <th>id</th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>1</th>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>Cursos de Python</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["            nome_do_curso\n","id                       \n","1   Lógica de programação\n","2           Java para Web\n","3             C# para Web\n","4           Ruby on Rails\n","5        Cursos de Python"]},"metadata":{"tags":[]},"execution_count":43}]},{"metadata":{"id":"arVWfiGYwN9f","colab_type":"code","outputId":"9e968191-c4f8-4289-eeb6-2e0a6a53a12c","colab":{"base_uri":"https://localhost:8080/","height":204},"executionInfo":{"status":"ok","timestamp":1545321209847,"user_tz":120,"elapsed":20643,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["matriculas.head()"],"execution_count":44,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>id_aluno</th>\n","      <th>id_curso</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>235</td>\n","      <td>19</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>235</td>\n","      <td>19</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>43</td>\n","      <td>9</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>43</td>\n","      <td>1</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>43</td>\n","      <td>19</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["   id_aluno  id_curso\n","0       235        19\n","1       235        19\n","2        43         9\n","3        43         1\n","4        43        19"]},"metadata":{"tags":[]},"execution_count":44}]},{"metadata":{"id":"XKgJ9vuXwQHI","colab_type":"code","colab":{}},"cell_type":"code","source":["matriculas_por_curso = matriculas.groupby('id_curso').count().join(cursos['nome_do_curso']).rename(columns={'id_aluno':'quantidade_de_alunos'})"],"execution_count":0,"outputs":[]},{"metadata":{"id":"zhESGL3qwW65","colab_type":"code","outputId":"57795301-1d8a-44f7-da52-2bf6c22f47dd","colab":{"base_uri":"https://localhost:8080/","height":235},"executionInfo":{"status":"ok","timestamp":1545321209849,"user_tz":120,"elapsed":20632,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["matriculas_por_curso.head()"],"execution_count":46,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>quantidade_de_alunos</th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","    <tr>\n","      <th>id_curso</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>1</th>\n","      <td>62</td>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>52</td>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>25</td>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>33</td>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>59</td>\n","      <td>Cursos de Python</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          quantidade_de_alunos          nome_do_curso\n","id_curso                                             \n","1                           62  Lógica de programação\n","2                           52          Java para Web\n","3                           25            C# para Web\n","4                           33          Ruby on Rails\n","5                           59       Cursos de Python"]},"metadata":{"tags":[]},"execution_count":46}]},{"metadata":{"id":"Spjf7ONM1DWt","colab_type":"text"},"cell_type":"markdown","source":["# Saída em diferentes formatos"]},{"metadata":{"id":"1doVYT7N0k5J","colab_type":"code","outputId":"9a2daee8-3f00-4af9-af7d-961199707895","colab":{"base_uri":"https://localhost:8080/","height":173},"executionInfo":{"status":"ok","timestamp":1545321209849,"user_tz":120,"elapsed":20623,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["matriculas_por_curso.head(3)"],"execution_count":47,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>quantidade_de_alunos</th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","    <tr>\n","      <th>id_curso</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>1</th>\n","      <td>62</td>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>52</td>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>25</td>\n","      <td>C# para Web</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["          quantidade_de_alunos          nome_do_curso\n","id_curso                                             \n","1                           62  Lógica de programação\n","2                           52          Java para Web\n","3                           25            C# para Web"]},"metadata":{"tags":[]},"execution_count":47}]},{"metadata":{"id":"7CcVYSM71Jut","colab_type":"code","colab":{}},"cell_type":"code","source":["matriculas_por_curso.to_csv('matriculas_por_curso.csv', index=False)"],"execution_count":0,"outputs":[]},{"metadata":{"id":"Rc81odDa1XUI","colab_type":"code","outputId":"17106d63-a4fe-4ca2-df57-8a6569d6372d","colab":{"base_uri":"https://localhost:8080/","height":669},"executionInfo":{"status":"ok","timestamp":1545321209853,"user_tz":120,"elapsed":20616,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["pd.read_csv('matriculas_por_curso.csv')"],"execution_count":49,"outputs":[{"output_type":"execute_result","data":{"text/html":["<div>\n","<style scoped>\n","    .dataframe tbody tr th:only-of-type {\n","        vertical-align: middle;\n","    }\n","\n","    .dataframe tbody tr th {\n","        vertical-align: top;\n","    }\n","\n","    .dataframe thead th {\n","        text-align: right;\n","    }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>quantidade_de_alunos</th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>0</th>\n","      <td>62</td>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>1</th>\n","      <td>52</td>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>25</td>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>33</td>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>59</td>\n","      <td>Cursos de Python</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>17</td>\n","      <td>PHP com MySql</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>56</td>\n","      <td>.NET para web</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>37</td>\n","      <td>Novas integrações com Java</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>70</td>\n","      <td>TDD com Java</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>12</td>\n","      <td>Código limpo com C#</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>81</td>\n","      <td>Preparatório para certificação Java</td>\n","    </tr>\n","    <tr>\n","      <th>11</th>\n","      <td>22</td>\n","      <td>Hardware básico</td>\n","    </tr>\n","    <tr>\n","      <th>12</th>\n","      <td>52</td>\n","      <td>Persistência com .NET</td>\n","    </tr>\n","    <tr>\n","      <th>13</th>\n","      <td>31</td>\n","      <td>Desenvolvendo jogos</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>82</td>\n","      <td>Análise de dados</td>\n","    </tr>\n","    <tr>\n","      <th>15</th>\n","      <td>16</td>\n","      <td>Estatística básica</td>\n","    </tr>\n","    <tr>\n","      <th>16</th>\n","      <td>44</td>\n","      <td>Internet das coisas</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>23</td>\n","      <td>Programação funcional</td>\n","    </tr>\n","    <tr>\n","      <th>18</th>\n","      <td>67</td>\n","      <td>Boas práticas em Java</td>\n","    </tr>\n","    <tr>\n","      <th>19</th>\n","      <td>18</td>\n","      <td>Orientação objetos com Java</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["    quantidade_de_alunos                        nome_do_curso\n","0                     62                Lógica de programação\n","1                     52                        Java para Web\n","2                     25                          C# para Web\n","3                     33                        Ruby on Rails\n","4                     59                     Cursos de Python\n","5                     17                        PHP com MySql\n","6                     56                        .NET para web\n","7                     37           Novas integrações com Java\n","8                     70                         TDD com Java\n","9                     12                  Código limpo com C#\n","10                    81  Preparatório para certificação Java\n","11                    22                      Hardware básico\n","12                    52                Persistência com .NET\n","13                    31                  Desenvolvendo jogos\n","14                    82                     Análise de dados\n","15                    16                   Estatística básica\n","16                    44                  Internet das coisas\n","17                    23                Programação funcional\n","18                    67                Boas práticas em Java\n","19                    18          Orientação objetos com Java"]},"metadata":{"tags":[]},"execution_count":49}]},{"metadata":{"id":"N9AjsDmP1gBi","colab_type":"code","colab":{}},"cell_type":"code","source":["matriculas_json = matriculas_por_curso.to_json()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"5wENq92N1sY6","colab_type":"code","outputId":"7de15fe4-41a7-4086-988c-2ad85c017bc0","colab":{"base_uri":"https://localhost:8080/","height":54},"executionInfo":{"status":"ok","timestamp":1545321209855,"user_tz":120,"elapsed":20607,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["matriculas_json"],"execution_count":51,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'{\"quantidade_de_alunos\":{\"1\":62,\"2\":52,\"3\":25,\"4\":33,\"5\":59,\"6\":17,\"7\":56,\"8\":37,\"9\":70,\"10\":12,\"11\":81,\"12\":22,\"13\":52,\"14\":31,\"15\":82,\"16\":16,\"17\":44,\"18\":23,\"19\":67,\"20\":18},\"nome_do_curso\":{\"1\":\"L\\\\u00f3gica de programa\\\\u00e7\\\\u00e3o\",\"2\":\"Java para Web\",\"3\":\"C# para Web\",\"4\":\"Ruby on Rails\",\"5\":\"Cursos de Python\",\"6\":\"PHP com MySql\",\"7\":\".NET para web\",\"8\":\"Novas integra\\\\u00e7\\\\u00f5es com Java\",\"9\":\"TDD com Java\",\"10\":\"C\\\\u00f3digo limpo com C#\",\"11\":\"Preparat\\\\u00f3rio para certifica\\\\u00e7\\\\u00e3o Java\",\"12\":\"Hardware b\\\\u00e1sico\",\"13\":\"Persist\\\\u00eancia com .NET\",\"14\":\"Desenvolvendo jogos\",\"15\":\"An\\\\u00e1lise de dados\",\"16\":\"Estat\\\\u00edstica b\\\\u00e1sica\",\"17\":\"Internet das coisas\",\"18\":\"Programa\\\\u00e7\\\\u00e3o funcional\",\"19\":\"Boas pr\\\\u00e1ticas em Java\",\"20\":\"Orienta\\\\u00e7\\\\u00e3o objetos com Java\"}}'"]},"metadata":{"tags":[]},"execution_count":51}]},{"metadata":{"id":"mWe30iDw1t4W","colab_type":"code","colab":{}},"cell_type":"code","source":["matriculas_html = matriculas_por_curso.to_html()"],"execution_count":0,"outputs":[]},{"metadata":{"id":"klxkANa7146S","colab_type":"code","outputId":"c438a230-9752-4c93-9d16-81e56e47c155","colab":{"base_uri":"https://localhost:8080/","height":1989},"executionInfo":{"status":"ok","timestamp":1545321209857,"user_tz":120,"elapsed":20564,"user":{"displayName":"Guilherme Lima","photoUrl":"https://lh4.googleusercontent.com/-1qJQ2pSryj8/AAAAAAAAAAI/AAAAAAAAAGY/EoCbvB8BzGI/s64/photo.jpg","userId":"07676051327792383707"}}},"cell_type":"code","source":["print(matriculas_html)"],"execution_count":53,"outputs":[{"output_type":"stream","text":["<table border=\"1\" class=\"dataframe\">\n","  <thead>\n","    <tr style=\"text-align: right;\">\n","      <th></th>\n","      <th>quantidade_de_alunos</th>\n","      <th>nome_do_curso</th>\n","    </tr>\n","    <tr>\n","      <th>id_curso</th>\n","      <th></th>\n","      <th></th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>1</th>\n","      <td>62</td>\n","      <td>Lógica de programação</td>\n","    </tr>\n","    <tr>\n","      <th>2</th>\n","      <td>52</td>\n","      <td>Java para Web</td>\n","    </tr>\n","    <tr>\n","      <th>3</th>\n","      <td>25</td>\n","      <td>C# para Web</td>\n","    </tr>\n","    <tr>\n","      <th>4</th>\n","      <td>33</td>\n","      <td>Ruby on Rails</td>\n","    </tr>\n","    <tr>\n","      <th>5</th>\n","      <td>59</td>\n","      <td>Cursos de Python</td>\n","    </tr>\n","    <tr>\n","      <th>6</th>\n","      <td>17</td>\n","      <td>PHP com MySql</td>\n","    </tr>\n","    <tr>\n","      <th>7</th>\n","      <td>56</td>\n","      <td>.NET para web</td>\n","    </tr>\n","    <tr>\n","      <th>8</th>\n","      <td>37</td>\n","      <td>Novas integrações com Java</td>\n","    </tr>\n","    <tr>\n","      <th>9</th>\n","      <td>70</td>\n","      <td>TDD com Java</td>\n","    </tr>\n","    <tr>\n","      <th>10</th>\n","      <td>12</td>\n","      <td>Código limpo com C#</td>\n","    </tr>\n","    <tr>\n","      <th>11</th>\n","      <td>81</td>\n","      <td>Preparatório para certificação Java</td>\n","    </tr>\n","    <tr>\n","      <th>12</th>\n","      <td>22</td>\n","      <td>Hardware básico</td>\n","    </tr>\n","    <tr>\n","      <th>13</th>\n","      <td>52</td>\n","      <td>Persistência com .NET</td>\n","    </tr>\n","    <tr>\n","      <th>14</th>\n","      <td>31</td>\n","      <td>Desenvolvendo jogos</td>\n","    </tr>\n","    <tr>\n","      <th>15</th>\n","      <td>82</td>\n","      <td>Análise de dados</td>\n","    </tr>\n","    <tr>\n","      <th>16</th>\n","      <td>16</td>\n","      <td>Estatística básica</td>\n","    </tr>\n","    <tr>\n","      <th>17</th>\n","      <td>44</td>\n","      <td>Internet das coisas</td>\n","    </tr>\n","    <tr>\n","      <th>18</th>\n","      <td>23</td>\n","      <td>Programação funcional</td>\n","    </tr>\n","    <tr>\n","      <th>19</th>\n","      <td>67</td>\n","      <td>Boas práticas em Java</td>\n","    </tr>\n","    <tr>\n","      <th>20</th>\n","      <td>18</td>\n","      <td>Orientação objetos com Java</td>\n","    </tr>\n","  </tbody>\n","</table>\n"],"name":"stdout"}]},{"metadata":{"id":"lLWsVM6Q16xH","colab_type":"code","colab":{}},"cell_type":"code","source":[""],"execution_count":0,"outputs":[]}]}