├── .gitignore ├── 2120_0.xlsx ├── Introducao.ipynb ├── LICENSE ├── PDA_UNIDADES_RF_EPCT_CSV.csv ├── api_escola_inteligente.ipynb ├── api_partidos_camara_deputados.ipynb ├── aula3 └── 01_csv_senadores │ ├── 2018.csv │ └── reembolsos_senadores_2018.ipynb ├── csv_cirurgias.ipynb ├── csv_pronatec.ipynb ├── csv_prouni.ipynb ├── cursos-prouni.csv ├── excel_filmes_exibidos_brasil_2009_2017.ipynb ├── readme.md └── sih-janeiro-2017-cirurgias-eletiva-e-emergencia.csv /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .Python 10 | env/ 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | *.egg-info/ 23 | .installed.cfg 24 | *.egg 25 | 26 | # PyInstaller 27 | # Usually these files are written by a python script from a template 28 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 29 | *.manifest 30 | *.spec 31 | 32 | # Installer logs 33 | pip-log.txt 34 | pip-delete-this-directory.txt 35 | 36 | # Unit test / coverage reports 37 | htmlcov/ 38 | .tox/ 39 | .coverage 40 | .coverage.* 41 | .cache 42 | nosetests.xml 43 | coverage.xml 44 | *,cover 45 | 46 | # Translations 47 | *.mo 48 | *.pot 49 | 50 | # Django stuff: 51 | *.log 52 | 53 | # Sphinx documentation 54 | docs/_build/ 55 | 56 | # PyBuilder 57 | target/ 58 | 59 | # Emacs 60 | .#* 61 | 62 | # Notebook Checkpoints 63 | .ipynb_checkpoints/ 64 | -------------------------------------------------------------------------------- /2120_0.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/2120_0.xlsx -------------------------------------------------------------------------------- /Introducao.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "data": { 10 | "text/plain": [ 11 | "15" 12 | ] 13 | }, 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "output_type": "execute_result" 17 | } 18 | ], 19 | "source": [ 20 | "10 + 5" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": null, 26 | "metadata": {}, 27 | "outputs": [], 28 | "source": [] 29 | } 30 | ], 31 | "metadata": { 32 | "kernelspec": { 33 | "display_name": "Python 3", 34 | "language": "python", 35 | "name": "python3" 36 | }, 37 | "language_info": { 38 | "codemirror_mode": { 39 | "name": "ipython", 40 | "version": 3 41 | }, 42 | "file_extension": ".py", 43 | "mimetype": "text/x-python", 44 | "name": "python", 45 | "nbconvert_exporter": "python", 46 | "pygments_lexer": "ipython3", 47 | "version": "3.7.1" 48 | } 49 | }, 50 | "nbformat": 4, 51 | "nbformat_minor": 2 52 | } 53 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Rodolfo Ghiggi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /PDA_UNIDADES_RF_EPCT_CSV.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/PDA_UNIDADES_RF_EPCT_CSV.csv -------------------------------------------------------------------------------- /api_escola_inteligente.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Anáilse dos dados do site escola inteligente\n", 8 | "São dados do INEP disponibilizados por meio de API\n", 9 | "\n", 10 | "Link -> http://educacao.dadosabertosbr.com/api/escolas/buscaavancada?situacaoFuncionamento=1&energiaInexistente=on&aguaInexistente=on&esgotoInexistente=on&cozinha=on" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 3, 16 | "metadata": {}, 17 | "outputs": [ 18 | { 19 | "data": { 20 | "text/html": [ 21 | "
\n", 22 | "\n", 35 | "\n", 36 | " \n", 37 | " \n", 38 | " \n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | "
anoCensocidadecodcodCidadedependenciaAdministrativadependenciaAdministrativaTxtenemMediaGeralestadoidebAFidebAInomeregiaosituacaoFuncionamentosituacaoFuncionamentoTxt
02013CANDIDO DE ABREU4103602641044023Municipal0.0PR0.00.0BAIRRO DOS MENDES E R M EFSul1Em atividade
12013MONTE ALEGRE1500825815048023Municipal0.0PA0.00.0E M E F AGUA AZULNorte1Em atividade
22013PLACAS1553434015056503Municipal0.0PA0.00.0E M E F AGUA BOANorte1Em atividade
32013NOVO REPARTIMENTO1552582115050643Municipal0.0PA0.00.0E M E F AMAZONIANorte1Em atividade
42013AFUA1502279015003053Municipal0.0PA0.00.0E M E F AMELIA HOLANDANorte1Em atividade
\n", 143 | "
" 144 | ], 145 | "text/plain": [ 146 | " anoCenso cidade cod codCidade \\\n", 147 | "0 2013 CANDIDO DE ABREU 41036026 4104402 \n", 148 | "1 2013 MONTE ALEGRE 15008258 1504802 \n", 149 | "2 2013 PLACAS 15534340 1505650 \n", 150 | "3 2013 NOVO REPARTIMENTO 15525821 1505064 \n", 151 | "4 2013 AFUA 15022790 1500305 \n", 152 | "\n", 153 | " dependenciaAdministrativa dependenciaAdministrativaTxt enemMediaGeral \\\n", 154 | "0 3 Municipal 0.0 \n", 155 | "1 3 Municipal 0.0 \n", 156 | "2 3 Municipal 0.0 \n", 157 | "3 3 Municipal 0.0 \n", 158 | "4 3 Municipal 0.0 \n", 159 | "\n", 160 | " estado idebAF idebAI nome regiao \\\n", 161 | "0 PR 0.0 0.0 BAIRRO DOS MENDES E R M EF Sul \n", 162 | "1 PA 0.0 0.0 E M E F AGUA AZUL Norte \n", 163 | "2 PA 0.0 0.0 E M E F AGUA BOA Norte \n", 164 | "3 PA 0.0 0.0 E M E F AMAZONIA Norte \n", 165 | "4 PA 0.0 0.0 E M E F AMELIA HOLANDA Norte \n", 166 | "\n", 167 | " situacaoFuncionamento situacaoFuncionamentoTxt \n", 168 | "0 1 Em atividade \n", 169 | "1 1 Em atividade \n", 170 | "2 1 Em atividade \n", 171 | "3 1 Em atividade \n", 172 | "4 1 Em atividade " 173 | ] 174 | }, 175 | "execution_count": 3, 176 | "metadata": {}, 177 | "output_type": "execute_result" 178 | } 179 | ], 180 | "source": [ 181 | "# Importando as bibliotecas\n", 182 | "import pandas as pd\n", 183 | "import requests\n", 184 | "\n", 185 | "# URL de acesso a API\n", 186 | "url = 'http://educacao.dadosabertosbr.com/api/escolas/buscaavancada?situacaoFuncionamento=1&energiaInexistente=on&aguaInexistente=on&esgotoInexistente=on&cozinha=on'\n", 187 | "\n", 188 | "# Requisitando os dados da API\n", 189 | "resposta = requests.get(url)\n", 190 | "\n", 191 | "# Criando o DataFrame\n", 192 | "df = pd.DataFrame(resposta.json()[1])\n", 193 | "\n", 194 | "# Exibe os primeiros dados\n", 195 | "df.head()" 196 | ] 197 | }, 198 | { 199 | "cell_type": "code", 200 | "execution_count": 4, 201 | "metadata": {}, 202 | "outputs": [ 203 | { 204 | "data": { 205 | "text/plain": [ 206 | "(100, 14)" 207 | ] 208 | }, 209 | "execution_count": 4, 210 | "metadata": {}, 211 | "output_type": "execute_result" 212 | } 213 | ], 214 | "source": [ 215 | "# Qual é o tamanho do DataFrame?\n", 216 | "df.shape" 217 | ] 218 | }, 219 | { 220 | "cell_type": "code", 221 | "execution_count": 5, 222 | "metadata": {}, 223 | "outputs": [ 224 | { 225 | "data": { 226 | "text/plain": [ 227 | "PA 99\n", 228 | "PR 1\n", 229 | "Name: estado, dtype: int64" 230 | ] 231 | }, 232 | "execution_count": 5, 233 | "metadata": {}, 234 | "output_type": "execute_result" 235 | } 236 | ], 237 | "source": [ 238 | "# Em quais estados estão essas escolas?\n", 239 | "df['estado'].value_counts()" 240 | ] 241 | }, 242 | { 243 | "cell_type": "code", 244 | "execution_count": 6, 245 | "metadata": {}, 246 | "outputs": [ 247 | { 248 | "data": { 249 | "text/plain": [ 250 | "Municipal 100\n", 251 | "Name: dependenciaAdministrativaTxt, dtype: int64" 252 | ] 253 | }, 254 | "execution_count": 6, 255 | "metadata": {}, 256 | "output_type": "execute_result" 257 | } 258 | ], 259 | "source": [ 260 | "# São todas escolas municipais?\n", 261 | "df['dependenciaAdministrativaTxt'].value_counts()" 262 | ] 263 | }, 264 | { 265 | "cell_type": "code", 266 | "execution_count": null, 267 | "metadata": {}, 268 | "outputs": [], 269 | "source": [] 270 | } 271 | ], 272 | "metadata": { 273 | "kernelspec": { 274 | "display_name": "Python 3", 275 | "language": "python", 276 | "name": "python3" 277 | }, 278 | "language_info": { 279 | "codemirror_mode": { 280 | "name": "ipython", 281 | "version": 3 282 | }, 283 | "file_extension": ".py", 284 | "mimetype": "text/x-python", 285 | "name": "python", 286 | "nbconvert_exporter": "python", 287 | "pygments_lexer": "ipython3", 288 | "version": "3.7.1" 289 | } 290 | }, 291 | "nbformat": 4, 292 | "nbformat_minor": 2 293 | } 294 | -------------------------------------------------------------------------------- /api_partidos_camara_deputados.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Análise dos dados da API de partidos\n", 8 | "Análise dos dados obtidos pela API da Câmara dos deputados\n", 9 | "\n", 10 | "Request URL -> https://dadosabertos.camara.leg.br/api/v2/partidos?itens=100&ordem=ASC&ordenarPor=sigla" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 1, 16 | "metadata": {}, 17 | "outputs": [], 18 | "source": [ 19 | "# Importando as bibliotecas\n", 20 | "import pandas as pd\n", 21 | "import requests" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 5, 27 | "metadata": {}, 28 | "outputs": [ 29 | { 30 | "data": { 31 | "text/plain": [ 32 | "'{\"dados\":[{\"id\":36898,\"sigla\":\"AVANTE\",\"nome\":\"Avante\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36898\"},{\"id\":37902,\"sigla\":\"DC\",\"nome\":\"Democracia Cristã\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37902\"},{\"id\":36769,\"sigla\":\"DEM\",\"nome\":\"Democratas\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36769\"},{\"id\":36899,\"sigla\":\"MDB\",\"nome\":\"Movimento Democrático Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36899\"},{\"id\":37901,\"sigla\":\"NOVO\",\"nome\":\"Partido Novo\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37901\"},{\"id\":37900,\"sigla\":\"PATRI\",\"nome\":\"Patriota\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37900\"},{\"id\":36863,\"sigla\":\"PCB\",\"nome\":\"Partido Constitucionalista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36863\"},{\"id\":36779,\"sigla\":\"PCdoB\",\"nome\":\"Partido Comunista do Brasil\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36779\"},{\"id\":36781,\"sigla\":\"PCO\",\"nome\":\"Partido da Causa Operária\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36781\"},{\"id\":36786,\"sigla\":\"PDT\",\"nome\":\"Partido Democrático Trabalhista\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36786\"},{\"id\":36793,\"sigla\":\"PHS\",\"nome\":\"Partido Humanista da Solidariedade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36793\"},{\"id\":36887,\"sigla\":\"PMB\",\"nome\":\"Partido da Mulher Brasileira\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36887\"},{\"id\":36801,\"sigla\":\"PMN\",\"nome\":\"Partido da Mobilização Nacional\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36801\"},{\"id\":36896,\"sigla\":\"PODE\",\"nome\":\"Podemos\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36896\"},{\"id\":37903,\"sigla\":\"PP\",\"nome\":\"Progressistas\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37903\"},{\"id\":36762,\"sigla\":\"PPL\",\"nome\":\"Partido Pátria Livre\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36762\"},{\"id\":36813,\"sigla\":\"PPS\",\"nome\":\"Partido Popular Socialista\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36813\"},{\"id\":36814,\"sigla\":\"PR\",\"nome\":\"Partido da República\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36814\"},{\"id\":36815,\"sigla\":\"PRB\",\"nome\":\"Partido Republicano Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36815\"},{\"id\":36763,\"sigla\":\"PROS\",\"nome\":\"Partido Republicano da Ordem Social\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36763\"},{\"id\":36824,\"sigla\":\"PRP\",\"nome\":\"Partido Republicano Progressista\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36824\"},{\"id\":36829,\"sigla\":\"PRTB\",\"nome\":\"Partido Renovador Trabalhista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36829\"},{\"id\":36832,\"sigla\":\"PSB\",\"nome\":\"Partido Socialista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36832\"},{\"id\":36833,\"sigla\":\"PSC\",\"nome\":\"Partido Social Cristão\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36833\"},{\"id\":36834,\"sigla\":\"PSD\",\"nome\":\"Partido Social Democrático\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36834\"},{\"id\":36835,\"sigla\":\"PSDB\",\"nome\":\"Partido da Social Democracia Brasileira\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36835\"},{\"id\":36837,\"sigla\":\"PSL\",\"nome\":\"Partido Social Liberal\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36837\"},{\"id\":36839,\"sigla\":\"PSOL\",\"nome\":\"Partido Socialismo e Liberdade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36839\"},{\"id\":36843,\"sigla\":\"PSTU\",\"nome\":\"Partido Socialista dos Trabalhadores Unificado\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36843\"},{\"id\":36844,\"sigla\":\"PT\",\"nome\":\"Partido dos Trabalhadores\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36844\"},{\"id\":36845,\"sigla\":\"PTB\",\"nome\":\"Partido Trabalhista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36845\"},{\"id\":36846,\"sigla\":\"PTC\",\"nome\":\"Partido Trabalhista Cristão\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36846\"},{\"id\":36851,\"sigla\":\"PV\",\"nome\":\"Partido Verde\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36851\"},{\"id\":36886,\"sigla\":\"REDE\",\"nome\":\"Rede Sustentabilidade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36886\"},{\"id\":36852,\"sigla\":\"S.PART.\",\"nome\":\"Sem Partido\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36852\"},{\"id\":37904,\"sigla\":\"SOLIDARIEDADE\",\"nome\":\"Solidariedade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37904\"}],\"links\":[{\"rel\":\"self\",\"href\":\"https://dadosabertos.camara.leg.br/api/v2/partidos?itens=100&ordem=ASC&ordenarPor=sigla\"},{\"rel\":\"first\",\"href\":\"https://dadosabertos.camara.leg.br/api/v2/partidos?&ordem=ASC&ordenarPor=sigla&pagina=1&itens=100\"},{\"rel\":\"last\",\"href\":\"https://dadosabertos.camara.leg.br/api/v2/partidos?&ordem=ASC&ordenarPor=sigla&pagina=1&itens=100\"}]}'" 33 | ] 34 | }, 35 | "execution_count": 5, 36 | "metadata": {}, 37 | "output_type": "execute_result" 38 | } 39 | ], 40 | "source": [ 41 | "# Obter os dados da API da câmara dos deputados\n", 42 | "url = 'https://dadosabertos.camara.leg.br/api/v2/partidos?itens=100&ordem=ASC&ordenarPor=sigla'\n", 43 | "\n", 44 | "# Obtendo os dados\n", 45 | "resposta = requests.get(url)\n", 46 | "\n", 47 | "# Verificando a resposta\n", 48 | "resposta.text" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 6, 54 | "metadata": {}, 55 | "outputs": [], 56 | "source": [ 57 | "# Converter a resposta da API para DataFrame\n", 58 | "df = pd.DataFrame(resposta.json()['dados'])" 59 | ] 60 | }, 61 | { 62 | "cell_type": "code", 63 | "execution_count": 7, 64 | "metadata": {}, 65 | "outputs": [ 66 | { 67 | "data": { 68 | "text/html": [ 69 | "
\n", 70 | "\n", 83 | "\n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | "
idnomesiglauri
036898AvanteAVANTEhttps://dadosabertos.camara.leg.br/api/v2/part...
137902Democracia CristãDChttps://dadosabertos.camara.leg.br/api/v2/part...
236769DemocratasDEMhttps://dadosabertos.camara.leg.br/api/v2/part...
336899Movimento Democrático BrasileiroMDBhttps://dadosabertos.camara.leg.br/api/v2/part...
437901Partido NovoNOVOhttps://dadosabertos.camara.leg.br/api/v2/part...
\n", 131 | "
" 132 | ], 133 | "text/plain": [ 134 | " id nome sigla \\\n", 135 | "0 36898 Avante AVANTE \n", 136 | "1 37902 Democracia Cristã DC \n", 137 | "2 36769 Democratas DEM \n", 138 | "3 36899 Movimento Democrático Brasileiro MDB \n", 139 | "4 37901 Partido Novo NOVO \n", 140 | "\n", 141 | " uri \n", 142 | "0 https://dadosabertos.camara.leg.br/api/v2/part... \n", 143 | "1 https://dadosabertos.camara.leg.br/api/v2/part... \n", 144 | "2 https://dadosabertos.camara.leg.br/api/v2/part... \n", 145 | "3 https://dadosabertos.camara.leg.br/api/v2/part... \n", 146 | "4 https://dadosabertos.camara.leg.br/api/v2/part... " 147 | ] 148 | }, 149 | "execution_count": 7, 150 | "metadata": {}, 151 | "output_type": "execute_result" 152 | } 153 | ], 154 | "source": [ 155 | "# Exibindo os primeiros registros\n", 156 | "df.head()" 157 | ] 158 | }, 159 | { 160 | "cell_type": "code", 161 | "execution_count": 9, 162 | "metadata": {}, 163 | "outputs": [ 164 | { 165 | "data": { 166 | "text/plain": [ 167 | "36" 168 | ] 169 | }, 170 | "execution_count": 9, 171 | "metadata": {}, 172 | "output_type": "execute_result" 173 | } 174 | ], 175 | "source": [ 176 | "# Qual é o número atual de partidos políticos que possuem representantes na casa\n", 177 | "df['sigla'].count()" 178 | ] 179 | }, 180 | { 181 | "cell_type": "code", 182 | "execution_count": 10, 183 | "metadata": {}, 184 | "outputs": [ 185 | { 186 | "data": { 187 | "text/plain": [ 188 | "0 Avante\n", 189 | "1 Democracia Cristã\n", 190 | "2 Democratas\n", 191 | "3 Movimento Democrático Brasileiro\n", 192 | "4 Partido Novo\n", 193 | "5 Patriota\n", 194 | "6 Partido Constitucionalista Brasileiro\n", 195 | "7 Partido Comunista do Brasil\n", 196 | "8 Partido da Causa Operária\n", 197 | "9 Partido Democrático Trabalhista\n", 198 | "10 Partido Humanista da Solidariedade\n", 199 | "11 Partido da Mulher Brasileira\n", 200 | "12 Partido da Mobilização Nacional\n", 201 | "13 Podemos\n", 202 | "14 Progressistas\n", 203 | "15 Partido Pátria Livre\n", 204 | "16 Partido Popular Socialista\n", 205 | "17 Partido da República\n", 206 | "18 Partido Republicano Brasileiro\n", 207 | "19 Partido Republicano da Ordem Social\n", 208 | "20 Partido Republicano Progressista\n", 209 | "21 Partido Renovador Trabalhista Brasileiro\n", 210 | "22 Partido Socialista Brasileiro\n", 211 | "23 Partido Social Cristão\n", 212 | "24 Partido Social Democrático\n", 213 | "25 Partido da Social Democracia Brasileira\n", 214 | "26 Partido Social Liberal\n", 215 | "27 Partido Socialismo e Liberdade\n", 216 | "28 Partido Socialista dos Trabalhadores Unificado\n", 217 | "29 Partido dos Trabalhadores\n", 218 | "30 Partido Trabalhista Brasileiro\n", 219 | "31 Partido Trabalhista Cristão\n", 220 | "32 Partido Verde\n", 221 | "33 Rede Sustentabilidade\n", 222 | "34 Sem Partido\n", 223 | "35 Solidariedade\n", 224 | "Name: nome, dtype: object" 225 | ] 226 | }, 227 | "execution_count": 10, 228 | "metadata": {}, 229 | "output_type": "execute_result" 230 | } 231 | ], 232 | "source": [ 233 | "# Listar os nomes dos partidos\n", 234 | "df['nome']" 235 | ] 236 | }, 237 | { 238 | "cell_type": "code", 239 | "execution_count": 13, 240 | "metadata": {}, 241 | "outputs": [ 242 | { 243 | "data": { 244 | "text/plain": [ 245 | "'https://dadosabertos.camara.leg.br/api/v2/partidos/36898'" 246 | ] 247 | }, 248 | "execution_count": 13, 249 | "metadata": {}, 250 | "output_type": "execute_result" 251 | } 252 | ], 253 | "source": [ 254 | "# Qualquer campo do DataFrame pode ser obtido utilizando as funções \n", 255 | "# de localização\n", 256 | "\n", 257 | "# O iloc retorna um campo com base no seu índice [linha, coluna]\n", 258 | "df.iloc[0, 3]" 259 | ] 260 | }, 261 | { 262 | "cell_type": "code", 263 | "execution_count": 14, 264 | "metadata": {}, 265 | "outputs": [ 266 | { 267 | "data": { 268 | "text/plain": [ 269 | "'https://dadosabertos.camara.leg.br/api/v2/partidos/36898'" 270 | ] 271 | }, 272 | "execution_count": 14, 273 | "metadata": {}, 274 | "output_type": "execute_result" 275 | } 276 | ], 277 | "source": [ 278 | "# O loc retorna um campo com base no nome da coluna\n", 279 | "df.loc[0, 'uri']" 280 | ] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "execution_count": null, 285 | "metadata": {}, 286 | "outputs": [], 287 | "source": [] 288 | } 289 | ], 290 | "metadata": { 291 | "kernelspec": { 292 | "display_name": "Python 3", 293 | "language": "python", 294 | "name": "python3" 295 | }, 296 | "language_info": { 297 | "codemirror_mode": { 298 | "name": "ipython", 299 | "version": 3 300 | }, 301 | "file_extension": ".py", 302 | "mimetype": "text/x-python", 303 | "name": "python", 304 | "nbconvert_exporter": "python", 305 | "pygments_lexer": "ipython3", 306 | "version": "3.7.1" 307 | } 308 | }, 309 | "nbformat": 4, 310 | "nbformat_minor": 2 311 | } 312 | -------------------------------------------------------------------------------- /aula3/01_csv_senadores/2018.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/aula3/01_csv_senadores/2018.csv -------------------------------------------------------------------------------- /aula3/01_csv_senadores/reembolsos_senadores_2018.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Análise dos dados de reembolso dos senadores - 2018" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "# Importando as bibliotecas\n", 17 | "import pandas as pd" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 9, 23 | "metadata": {}, 24 | "outputs": [ 25 | { 26 | "data": { 27 | "text/html": [ 28 | "
\n", 29 | "\n", 42 | "\n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | "
ANOMESSENADORTIPO_DESPESACNPJ_CPFFORNECEDORDOCUMENTODATADETALHAMENTOVALOR_REEMBOLSADO
020181ACIR GURGACZAluguel de imóveis para escritório político, c...004.948.028-63GILBERTO PISELO DO NASCIMENTONaN02/01/2018Despesa com pagamento de aluguel de imóvel par...6000.00
120181ACIR GURGACZPassagens aéreas, aquáticas e terrestres nacio...63.764.211/0001-10TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDAM2CJMM02/01/2018Companhia Aérea: AVIANCA, Localizador: M2CJMM....274.99
220181ACIR GURGACZPassagens aéreas, aquáticas e terrestres nacio...63.764.211/0001-10TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDASFEXYF02/01/2018Companhia Aérea: LATAM, Localizador: SFEXYF. P...1094.29
320181ACIR GURGACZPassagens aéreas, aquáticas e terrestres nacio...63.764.211/0001-10TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDAV64HTR24/01/2018Companhia Aérea: AZUL, Localizador: V64HTR. Pa...1553.99
420182ACIR GURGACZAluguel de imóveis para escritório político, c...004.948.028-63GILBERTO PISELO DO NASCIMENTO002/1801/02/2018Despesa com pagamento de aluguel de imóvel par...6000.00
\n", 126 | "
" 127 | ], 128 | "text/plain": [ 129 | " ANO MES SENADOR TIPO_DESPESA \\\n", 130 | "0 2018 1 ACIR GURGACZ Aluguel de imóveis para escritório político, c... \n", 131 | "1 2018 1 ACIR GURGACZ Passagens aéreas, aquáticas e terrestres nacio... \n", 132 | "2 2018 1 ACIR GURGACZ Passagens aéreas, aquáticas e terrestres nacio... \n", 133 | "3 2018 1 ACIR GURGACZ Passagens aéreas, aquáticas e terrestres nacio... \n", 134 | "4 2018 2 ACIR GURGACZ Aluguel de imóveis para escritório político, c... \n", 135 | "\n", 136 | " CNPJ_CPF FORNECEDOR DOCUMENTO \\\n", 137 | "0 004.948.028-63 GILBERTO PISELO DO NASCIMENTO NaN \n", 138 | "1 63.764.211/0001-10 TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA M2CJMM \n", 139 | "2 63.764.211/0001-10 TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA SFEXYF \n", 140 | "3 63.764.211/0001-10 TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA V64HTR \n", 141 | "4 004.948.028-63 GILBERTO PISELO DO NASCIMENTO 002/18 \n", 142 | "\n", 143 | " DATA DETALHAMENTO \\\n", 144 | "0 02/01/2018 Despesa com pagamento de aluguel de imóvel par... \n", 145 | "1 02/01/2018 Companhia Aérea: AVIANCA, Localizador: M2CJMM.... \n", 146 | "2 02/01/2018 Companhia Aérea: LATAM, Localizador: SFEXYF. P... \n", 147 | "3 24/01/2018 Companhia Aérea: AZUL, Localizador: V64HTR. Pa... \n", 148 | "4 01/02/2018 Despesa com pagamento de aluguel de imóvel par... \n", 149 | "\n", 150 | " VALOR_REEMBOLSADO \n", 151 | "0 6000.00 \n", 152 | "1 274.99 \n", 153 | "2 1094.29 \n", 154 | "3 1553.99 \n", 155 | "4 6000.00 " 156 | ] 157 | }, 158 | "execution_count": 9, 159 | "metadata": {}, 160 | "output_type": "execute_result" 161 | } 162 | ], 163 | "source": [ 164 | "# Carregar o arquivo csv\n", 165 | "df = pd.read_csv('2018.csv', sep=';', encoding='cp1252', skiprows=1, decimal=',')\n", 166 | "\n", 167 | "df.head()" 168 | ] 169 | }, 170 | { 171 | "cell_type": "code", 172 | "execution_count": 10, 173 | "metadata": {}, 174 | "outputs": [ 175 | { 176 | "name": "stdout", 177 | "output_type": "stream", 178 | "text": [ 179 | "\n", 180 | "RangeIndex: 24492 entries, 0 to 24491\n", 181 | "Data columns (total 10 columns):\n", 182 | "ANO 24492 non-null int64\n", 183 | "MES 24492 non-null int64\n", 184 | "SENADOR 24492 non-null object\n", 185 | "TIPO_DESPESA 24492 non-null object\n", 186 | "CNPJ_CPF 24492 non-null object\n", 187 | "FORNECEDOR 24492 non-null object\n", 188 | "DOCUMENTO 23476 non-null object\n", 189 | "DATA 24492 non-null object\n", 190 | "DETALHAMENTO 18882 non-null object\n", 191 | "VALOR_REEMBOLSADO 24492 non-null float64\n", 192 | "dtypes: float64(1), int64(2), object(7)\n", 193 | "memory usage: 1.9+ MB\n" 194 | ] 195 | } 196 | ], 197 | "source": [ 198 | "# Verificar tamanhos e tipos dos dados\n", 199 | "df.info()" 200 | ] 201 | }, 202 | { 203 | "cell_type": "code", 204 | "execution_count": 11, 205 | "metadata": {}, 206 | "outputs": [ 207 | { 208 | "data": { 209 | "text/html": [ 210 | "
\n", 211 | "\n", 224 | "\n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | "
ANOMESVALOR_REEMBOLSADO
count24492.024492.00000024492.000000
mean2018.06.1922261045.431215
std0.03.3058472718.840577
min2018.01.0000000.010000
25%2018.03.000000125.000000
50%2018.06.000000287.200000
75%2018.09.0000001032.005000
max2018.012.000000103900.000000
\n", 284 | "
" 285 | ], 286 | "text/plain": [ 287 | " ANO MES VALOR_REEMBOLSADO\n", 288 | "count 24492.0 24492.000000 24492.000000\n", 289 | "mean 2018.0 6.192226 1045.431215\n", 290 | "std 0.0 3.305847 2718.840577\n", 291 | "min 2018.0 1.000000 0.010000\n", 292 | "25% 2018.0 3.000000 125.000000\n", 293 | "50% 2018.0 6.000000 287.200000\n", 294 | "75% 2018.0 9.000000 1032.005000\n", 295 | "max 2018.0 12.000000 103900.000000" 296 | ] 297 | }, 298 | "execution_count": 11, 299 | "metadata": {}, 300 | "output_type": "execute_result" 301 | } 302 | ], 303 | "source": [ 304 | "# Mostra uma análise quantitativa dos dados\n", 305 | "df.describe()" 306 | ] 307 | }, 308 | { 309 | "cell_type": "code", 310 | "execution_count": 12, 311 | "metadata": {}, 312 | "outputs": [ 313 | { 314 | "data": { 315 | "text/plain": [ 316 | "25604701.33" 317 | ] 318 | }, 319 | "execution_count": 12, 320 | "metadata": {}, 321 | "output_type": "execute_result" 322 | } 323 | ], 324 | "source": [ 325 | "# qual o total de reembolsos?\n", 326 | "df['VALOR_REEMBOLSADO'].sum()" 327 | ] 328 | }, 329 | { 330 | "cell_type": "code", 331 | "execution_count": 19, 332 | "metadata": {}, 333 | "outputs": [ 334 | { 335 | "data": { 336 | "text/plain": [ 337 | "EDUARDO LOPES 864\n", 338 | "PAULO BAUER 824\n", 339 | "WELLINGTON FAGUNDES 800\n", 340 | "JOSÉ SERRA 715\n", 341 | "GLEISI HOFFMANN 653\n", 342 | "HUMBERTO COSTA 648\n", 343 | "LÍDICE DA MATA 628\n", 344 | "JOSÉ MEDEIROS 598\n", 345 | "FERNANDO BEZERRA COELHO 560\n", 346 | "ARMANDO MONTEIRO 550\n", 347 | "PAULO PAIM 547\n", 348 | "JOÃO CAPIBERIBE 539\n", 349 | "ANA AMÉLIA 495\n", 350 | "RONALDO CAIADO 486\n", 351 | "JOSÉ PIMENTEL 477\n", 352 | "PEDRO CHAVES DOS SANTOS FILHO 440\n", 353 | "EDUARDO AMORIM 438\n", 354 | "ROBERTO REQUIÃO 436\n", 355 | "PAULO ROCHA 424\n", 356 | "ROMERO JUCÁ 415\n", 357 | "FÁTIMA BEZERRA 407\n", 358 | "MARTA SUPLICY 398\n", 359 | "ROBERTO MUNIZ 380\n", 360 | "ZEZÉ PERRELLA 371\n", 361 | "WALDEMIR MOKA 370\n", 362 | "AIRTON SANDOVAL 363\n", 363 | "CÁSSIO CUNHA LIMA 362\n", 364 | "DALIRIO BEBER 361\n", 365 | "JORGE VIANA 356\n", 366 | "VANESSA GRAZZIOTIN 350\n", 367 | " ... \n", 368 | "EDUARDO BRAGA 133\n", 369 | "OTTO ALENCAR 132\n", 370 | "MARIA DO CARMO ALVES 129\n", 371 | "JOÃO ALBERTO SOUZA 125\n", 372 | "ANTÔNIO CARLOS VALADARES 117\n", 373 | "ACIR GURGACZ 114\n", 374 | "PASTOR BEL 113\n", 375 | "DAVI ALCOLUMBRE 112\n", 376 | "RUDSON LEITE 111\n", 377 | "HÉLIO JOSÉ 109\n", 378 | "JOSÉ AMAURI 101\n", 379 | "REDITARIO CASSOL 87\n", 380 | "GUARACY SILVEIRA 79\n", 381 | "SÉRGIO PETECÃO 75\n", 382 | "KÁTIA ABREU 72\n", 383 | "SÉRGIO DE CASTRO 66\n", 384 | "RODRIGUES PALMA 62\n", 385 | "GIVAGO TENÓRIO 57\n", 386 | "WALTER PINHEIRO 51\n", 387 | "VICENTINHO ALVES 51\n", 388 | "EDISON LOBÃO 49\n", 389 | "ELBER BATALHA 47\n", 390 | "IONE GUIMARÃES 44\n", 391 | "TASSO JEREISSATI 44\n", 392 | "OMAR AZIZ 42\n", 393 | "ALVARO DIAS 40\n", 394 | "FERNANDO COLLOR 27\n", 395 | "JADER BARBALHO 19\n", 396 | "CRISTOVAM BUARQUE 16\n", 397 | "ZÉ SANTANA 8\n", 398 | "Name: SENADOR, Length: 91, dtype: int64" 399 | ] 400 | }, 401 | "execution_count": 19, 402 | "metadata": {}, 403 | "output_type": "execute_result" 404 | } 405 | ], 406 | "source": [ 407 | "# Quantos reembolsos foram solicitados por cada senador?\n", 408 | "df['SENADOR'].value_counts()" 409 | ] 410 | }, 411 | { 412 | "cell_type": "code", 413 | "execution_count": 23, 414 | "metadata": {}, 415 | "outputs": [ 416 | { 417 | "data": { 418 | "text/plain": [ 419 | "SENADOR\n", 420 | "EDUARDO BRAGA 529599.18\n", 421 | "VANESSA GRAZZIOTIN 515969.63\n", 422 | "JOÃO CAPIBERIBE 513333.90\n", 423 | "ÂNGELA PORTELA 485806.44\n", 424 | "OMAR AZIZ 484143.98\n", 425 | "CIRO NOGUEIRA 455942.09\n", 426 | "ROMERO JUCÁ 454526.97\n", 427 | "GLADSON CAMELI 443981.70\n", 428 | "FERNANDO COLLOR 435944.08\n", 429 | "JORGE VIANA 430121.30\n", 430 | "JOÃO ALBERTO SOUZA 429438.67\n", 431 | "HUMBERTO COSTA 427887.25\n", 432 | "GARIBALDI ALVES FILHO 418031.85\n", 433 | "WELLINGTON FAGUNDES 417778.67\n", 434 | "PAULO PAIM 415787.11\n", 435 | "ARMANDO MONTEIRO 415294.82\n", 436 | "JOSÉ MEDEIROS 411414.35\n", 437 | "PAULO ROCHA 405973.91\n", 438 | "JOSÉ PIMENTEL 405661.25\n", 439 | "FLEXA RIBEIRO 405371.13\n", 440 | "VALDIR RAUPP 405234.22\n", 441 | "CÁSSIO CUNHA LIMA 398600.17\n", 442 | "MAGNO MALTA 397409.37\n", 443 | "ROBERTO ROCHA 386876.10\n", 444 | "LINDBERGH FARIAS 379909.54\n", 445 | "PEDRO CHAVES DOS SANTOS FILHO 379386.06\n", 446 | "ROSE DE FREITAS 378182.77\n", 447 | "RAIMUNDO LIRA 375386.72\n", 448 | "RANDOLFE RODRIGUES 373214.08\n", 449 | "FERNANDO BEZERRA COELHO 367535.16\n", 450 | " ... \n", 451 | "DALIRIO BEBER 213061.41\n", 452 | "LÚCIA VÂNIA 212556.52\n", 453 | "ANTÔNIO CARLOS VALADARES 212072.07\n", 454 | "KÁTIA ABREU 205291.80\n", 455 | "DÁRIO BERGER 199500.30\n", 456 | "TASSO JEREISSATI 195793.53\n", 457 | "OTTO ALENCAR 183048.34\n", 458 | "JOSÉ MARANHÃO 177914.91\n", 459 | "RENAN CALHEIROS 169975.04\n", 460 | "WILDER MORAIS 159069.64\n", 461 | "CIDINHO SANTOS 156965.76\n", 462 | "JOSÉ AMAURI 150165.53\n", 463 | "REDITARIO CASSOL 149322.99\n", 464 | "ANA AMÉLIA 147226.50\n", 465 | "MARIA DO CARMO ALVES 146810.60\n", 466 | "ELBER BATALHA 125533.35\n", 467 | "SIMONE TEBET 124102.62\n", 468 | "PASTOR BEL 123515.72\n", 469 | "RUDSON LEITE 123015.14\n", 470 | "BENEDITO DE LIRA 122405.46\n", 471 | "GIVAGO TENÓRIO 80164.46\n", 472 | "SÉRGIO DE CASTRO 54318.55\n", 473 | "RODRIGUES PALMA 52676.18\n", 474 | "GUARACY SILVEIRA 50430.40\n", 475 | "JADER BARBALHO 44323.47\n", 476 | "ALVARO DIAS 44037.88\n", 477 | "WALTER PINHEIRO 32733.67\n", 478 | "CRISTOVAM BUARQUE 32400.00\n", 479 | "ZÉ SANTANA 23300.67\n", 480 | "IONE GUIMARÃES 11379.91\n", 481 | "Name: VALOR_REEMBOLSADO, Length: 91, dtype: float64" 482 | ] 483 | }, 484 | "execution_count": 23, 485 | "metadata": {}, 486 | "output_type": "execute_result" 487 | } 488 | ], 489 | "source": [ 490 | "# Quanto cada senador solicitou de reembolso?\n", 491 | "df.groupby(['SENADOR'])['VALOR_REEMBOLSADO'].sum().sort_values(ascending=False)" 492 | ] 493 | }, 494 | { 495 | "cell_type": "code", 496 | "execution_count": 29, 497 | "metadata": {}, 498 | "outputs": [ 499 | { 500 | "data": { 501 | "text/html": [ 502 | "
\n", 503 | "\n", 516 | "\n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | " \n", 591 | " \n", 592 | " \n", 593 | " \n", 594 | " \n", 595 | " \n", 596 | " \n", 597 | " \n", 598 | " \n", 599 | " \n", 600 | " \n", 601 | " \n", 602 | " \n", 603 | " \n", 604 | " \n", 605 | " \n", 606 | " \n", 607 | " \n", 608 | " \n", 609 | "
212252148821491226665573
ANO20182018201820182018
MES1211121212
SENADORROSE DE FREITASSÉRGIO PETECÃOSÉRGIO PETECÃOVANESSA GRAZZIOTINEDUARDO LOPES
TIPO_DESPESADivulgação da atividade parlamentarContratação de consultorias, assessorias, pesq...Contratação de consultorias, assessorias, pesq...Contratação de consultorias, assessorias, pesq...Divulgação da atividade parlamentar
CNPJ_CPF05.461.408/0001-8422.233.033/0001-1422.233.033/0001-1428.916.527/0001-8014.616.988/0001-22
FORNECEDORGrafitusa S/AReis Grafica e Comercio de Etiquetas Eireli MEReis Grafica e Comercio de Etiquetas Eireli MEA MAQUINA SOLUCOES EM MIDIA LTDA MENG Comunicação Visual Ltda
DOCUMENTO000009681419300000425204800000714
DATA29/03/201929/11/201817/12/201817/12/201805/12/2018
DETALHAMENTONaNNaNNaNTRABALHOS TÉCNICOS DE APOIO AO EXERCICIO DO MA...NaN
VALOR_REEMBOLSADO10390010200010200010000066000
\n", 610 | "
" 611 | ], 612 | "text/plain": [ 613 | " 21225 \\\n", 614 | "ANO 2018 \n", 615 | "MES 12 \n", 616 | "SENADOR ROSE DE FREITAS \n", 617 | "TIPO_DESPESA Divulgação da atividade parlamentar \n", 618 | "CNPJ_CPF 05.461.408/0001-84 \n", 619 | "FORNECEDOR Grafitusa S/A \n", 620 | "DOCUMENTO 000009681 \n", 621 | "DATA 29/03/2019 \n", 622 | "DETALHAMENTO NaN \n", 623 | "VALOR_REEMBOLSADO 103900 \n", 624 | "\n", 625 | " 21488 \\\n", 626 | "ANO 2018 \n", 627 | "MES 11 \n", 628 | "SENADOR SÉRGIO PETECÃO \n", 629 | "TIPO_DESPESA Contratação de consultorias, assessorias, pesq... \n", 630 | "CNPJ_CPF 22.233.033/0001-14 \n", 631 | "FORNECEDOR Reis Grafica e Comercio de Etiquetas Eireli ME \n", 632 | "DOCUMENTO 4193 \n", 633 | "DATA 29/11/2018 \n", 634 | "DETALHAMENTO NaN \n", 635 | "VALOR_REEMBOLSADO 102000 \n", 636 | "\n", 637 | " 21491 \\\n", 638 | "ANO 2018 \n", 639 | "MES 12 \n", 640 | "SENADOR SÉRGIO PETECÃO \n", 641 | "TIPO_DESPESA Contratação de consultorias, assessorias, pesq... \n", 642 | "CNPJ_CPF 22.233.033/0001-14 \n", 643 | "FORNECEDOR Reis Grafica e Comercio de Etiquetas Eireli ME \n", 644 | "DOCUMENTO 000004252 \n", 645 | "DATA 17/12/2018 \n", 646 | "DETALHAMENTO NaN \n", 647 | "VALOR_REEMBOLSADO 102000 \n", 648 | "\n", 649 | " 22666 \\\n", 650 | "ANO 2018 \n", 651 | "MES 12 \n", 652 | "SENADOR VANESSA GRAZZIOTIN \n", 653 | "TIPO_DESPESA Contratação de consultorias, assessorias, pesq... \n", 654 | "CNPJ_CPF 28.916.527/0001-80 \n", 655 | "FORNECEDOR A MAQUINA SOLUCOES EM MIDIA LTDA ME \n", 656 | "DOCUMENTO 048 \n", 657 | "DATA 17/12/2018 \n", 658 | "DETALHAMENTO TRABALHOS TÉCNICOS DE APOIO AO EXERCICIO DO MA... \n", 659 | "VALOR_REEMBOLSADO 100000 \n", 660 | "\n", 661 | " 5573 \n", 662 | "ANO 2018 \n", 663 | "MES 12 \n", 664 | "SENADOR EDUARDO LOPES \n", 665 | "TIPO_DESPESA Divulgação da atividade parlamentar \n", 666 | "CNPJ_CPF 14.616.988/0001-22 \n", 667 | "FORNECEDOR NG Comunicação Visual Ltda \n", 668 | "DOCUMENTO 00000714 \n", 669 | "DATA 05/12/2018 \n", 670 | "DETALHAMENTO NaN \n", 671 | "VALOR_REEMBOLSADO 66000 " 672 | ] 673 | }, 674 | "execution_count": 29, 675 | "metadata": {}, 676 | "output_type": "execute_result" 677 | } 678 | ], 679 | "source": [ 680 | "# Quais são os 5 maiores valores de reembolso?\n", 681 | "df.nlargest(5, 'VALOR_REEMBOLSADO').T" 682 | ] 683 | }, 684 | { 685 | "cell_type": "code", 686 | "execution_count": 30, 687 | "metadata": {}, 688 | "outputs": [ 689 | { 690 | "data": { 691 | "text/html": [ 692 | "
\n", 693 | "\n", 706 | "\n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | " \n", 793 | " \n", 794 | " \n", 795 | " \n", 796 | " \n", 797 | " \n", 798 | " \n", 799 | "
386810161101911019610233
ANO20182018201820182018
MES53445
SENADORDÁRIO BERGERJORGE VIANAJORGE VIANAJORGE VIANAJORGE VIANA
TIPO_DESPESAPassagens aéreas, aquáticas e terrestres nacio...Passagens aéreas, aquáticas e terrestres nacio...Passagens aéreas, aquáticas e terrestres nacio...Passagens aéreas, aquáticas e terrestres nacio...Passagens aéreas, aquáticas e terrestres nacio...
CNPJ_CPF02.575.829/0001-4833.937.681/0001-7807.575.651/0001-5933.937.681/0001-7833.937.681/0001-78
FORNECEDORAVIANCA BRASILLATAMGOL TRANSPORTES AÉREOS S/ALATAMLATAM
DOCUMENTOK5RKJVW4UUE7ZHV36PW6ZMK3OZALEF
DATA29/05/201821/03/201809/03/201817/04/201822/05/2018
DETALHAMENTOCompanhia Aérea: AVIANCA, Localizador: K5RKJV....Companhia Aérea: LATAM, Localizador: W4UUE7. P...Companhia Aérea: GOL, Localizador: ZHV36P. Pas...Companhia Aérea: LATAM, Localizador: W6ZMK3. P...Companhia Aérea: LATAM, Localizador: OZALEF. P...
VALOR_REEMBOLSADO0.010.010.010.010.01
\n", 800 | "
" 801 | ], 802 | "text/plain": [ 803 | " 3868 \\\n", 804 | "ANO 2018 \n", 805 | "MES 5 \n", 806 | "SENADOR DÁRIO BERGER \n", 807 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n", 808 | "CNPJ_CPF 02.575.829/0001-48 \n", 809 | "FORNECEDOR AVIANCA BRASIL \n", 810 | "DOCUMENTO K5RKJV \n", 811 | "DATA 29/05/2018 \n", 812 | "DETALHAMENTO Companhia Aérea: AVIANCA, Localizador: K5RKJV.... \n", 813 | "VALOR_REEMBOLSADO 0.01 \n", 814 | "\n", 815 | " 10161 \\\n", 816 | "ANO 2018 \n", 817 | "MES 3 \n", 818 | "SENADOR JORGE VIANA \n", 819 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n", 820 | "CNPJ_CPF 33.937.681/0001-78 \n", 821 | "FORNECEDOR LATAM \n", 822 | "DOCUMENTO W4UUE7 \n", 823 | "DATA 21/03/2018 \n", 824 | "DETALHAMENTO Companhia Aérea: LATAM, Localizador: W4UUE7. P... \n", 825 | "VALOR_REEMBOLSADO 0.01 \n", 826 | "\n", 827 | " 10191 \\\n", 828 | "ANO 2018 \n", 829 | "MES 4 \n", 830 | "SENADOR JORGE VIANA \n", 831 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n", 832 | "CNPJ_CPF 07.575.651/0001-59 \n", 833 | "FORNECEDOR GOL TRANSPORTES AÉREOS S/A \n", 834 | "DOCUMENTO ZHV36P \n", 835 | "DATA 09/03/2018 \n", 836 | "DETALHAMENTO Companhia Aérea: GOL, Localizador: ZHV36P. Pas... \n", 837 | "VALOR_REEMBOLSADO 0.01 \n", 838 | "\n", 839 | " 10196 \\\n", 840 | "ANO 2018 \n", 841 | "MES 4 \n", 842 | "SENADOR JORGE VIANA \n", 843 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n", 844 | "CNPJ_CPF 33.937.681/0001-78 \n", 845 | "FORNECEDOR LATAM \n", 846 | "DOCUMENTO W6ZMK3 \n", 847 | "DATA 17/04/2018 \n", 848 | "DETALHAMENTO Companhia Aérea: LATAM, Localizador: W6ZMK3. P... \n", 849 | "VALOR_REEMBOLSADO 0.01 \n", 850 | "\n", 851 | " 10233 \n", 852 | "ANO 2018 \n", 853 | "MES 5 \n", 854 | "SENADOR JORGE VIANA \n", 855 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n", 856 | "CNPJ_CPF 33.937.681/0001-78 \n", 857 | "FORNECEDOR LATAM \n", 858 | "DOCUMENTO OZALEF \n", 859 | "DATA 22/05/2018 \n", 860 | "DETALHAMENTO Companhia Aérea: LATAM, Localizador: OZALEF. P... \n", 861 | "VALOR_REEMBOLSADO 0.01 " 862 | ] 863 | }, 864 | "execution_count": 30, 865 | "metadata": {}, 866 | "output_type": "execute_result" 867 | } 868 | ], 869 | "source": [ 870 | "# Quais são os 5 menos reembolsos?\n", 871 | "df.nsmallest(5, 'VALOR_REEMBOLSADO').T" 872 | ] 873 | }, 874 | { 875 | "cell_type": "code", 876 | "execution_count": 33, 877 | "metadata": {}, 878 | "outputs": [ 879 | { 880 | "data": { 881 | "text/plain": [ 882 | "Locomoção, hospedagem, alimentação, combustíveis e lubrificantes 10147\n", 883 | "Passagens aéreas, aquáticas e terrestres nacionais 5820\n", 884 | "Aluguel de imóveis para escritório político, compreendendo despesas concernentes a eles. 5042\n", 885 | "Aquisição de material de consumo para uso no escritório político, inclusive aquisição ou locação de software, despesas postais, aquisição de publicações, locação de móveis e de equipamentos. 1761\n", 886 | "Contratação de consultorias, assessorias, pesquisas, trabalhos técnicos e outros serviços de apoio ao exercício do mandato parlamentar 928\n", 887 | "Divulgação da atividade parlamentar 750\n", 888 | "Serviços de Segurança Privada 44\n", 889 | "Name: TIPO_DESPESA, dtype: int64" 890 | ] 891 | }, 892 | "execution_count": 33, 893 | "metadata": {}, 894 | "output_type": "execute_result" 895 | } 896 | ], 897 | "source": [ 898 | "# Quantidade de reembolsos por tipo de despesa\n", 899 | "df['TIPO_DESPESA'].value_counts()" 900 | ] 901 | }, 902 | { 903 | "cell_type": "code", 904 | "execution_count": 35, 905 | "metadata": {}, 906 | "outputs": [ 907 | { 908 | "data": { 909 | "text/plain": [ 910 | "TIPO_DESPESA\n", 911 | "Passagens aéreas, aquáticas e terrestres nacionais 6335284.94\n", 912 | "Locomoção, hospedagem, alimentação, combustíveis e lubrificantes 5620092.84\n", 913 | "Aluguel de imóveis para escritório político, compreendendo despesas concernentes a eles. 5041438.25\n", 914 | "Contratação de consultorias, assessorias, pesquisas, trabalhos técnicos e outros serviços de apoio ao exercício do mandato parlamentar 4966449.41\n", 915 | "Divulgação da atividade parlamentar 2568910.24\n", 916 | "Aquisição de material de consumo para uso no escritório político, inclusive aquisição ou locação de software, despesas postais, aquisição de publicações, locação de móveis e de equipamentos. 900312.04\n", 917 | "Serviços de Segurança Privada 172213.61\n", 918 | "Name: VALOR_REEMBOLSADO, dtype: float64" 919 | ] 920 | }, 921 | "execution_count": 35, 922 | "metadata": {}, 923 | "output_type": "execute_result" 924 | } 925 | ], 926 | "source": [ 927 | "# Quais são os valores totais de reembolso por tipo de despesa?\n", 928 | "df.groupby('TIPO_DESPESA')['VALOR_REEMBOLSADO'].sum().sort_values(ascending=False)" 929 | ] 930 | }, 931 | { 932 | "cell_type": "code", 933 | "execution_count": null, 934 | "metadata": {}, 935 | "outputs": [], 936 | "source": [] 937 | } 938 | ], 939 | "metadata": { 940 | "kernelspec": { 941 | "display_name": "Python 3", 942 | "language": "python", 943 | "name": "python3" 944 | }, 945 | "language_info": { 946 | "codemirror_mode": { 947 | "name": "ipython", 948 | "version": 3 949 | }, 950 | "file_extension": ".py", 951 | "mimetype": "text/x-python", 952 | "name": "python", 953 | "nbconvert_exporter": "python", 954 | "pygments_lexer": "ipython3", 955 | "version": "3.7.1" 956 | } 957 | }, 958 | "nbformat": 4, 959 | "nbformat_minor": 2 960 | } 961 | -------------------------------------------------------------------------------- /csv_pronatec.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 3, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# Importando bibliotecas\n", 10 | "# Por convenção vamos chamar o pandas de pd\n", 11 | "import pandas as pd" 12 | ] 13 | }, 14 | { 15 | "cell_type": "code", 16 | "execution_count": 12, 17 | "metadata": {}, 18 | "outputs": [ 19 | { 20 | "data": { 21 | "text/html": [ 22 | "
\n", 23 | "\n", 36 | "\n", 37 | " \n", 38 | " \n", 39 | " \n", 40 | " \n", 41 | " \n", 42 | " \n", 43 | " \n", 44 | " \n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | "
CODIGO_UNIDADENOME_UNIDADEDT_AUTORIZA_FUNCIONA_UNIDNOME_REGIAO_UNIDADESIGLA_UF_UNIDADENOME_MUNICIPIO_UNIDADENOME_MESORREGIAO_UNIDADENOME_MICRORREGIAO_UNIDADE
02879INSTITUTO FEDERAL DA BAHIA - CAMPUS EUNÁPOLIS07-01-2009NordesteBAEunápolisSul BaianoPorto Seguro
12948INSTITUTO FEDERAL BAIANO - CAMPUS ITAPETINGA07-01-2009NordesteBAItapetingaCentro Sul BaianoItapetinga
214328INSTITUTO FEDERAL DO ACRE - CAMPUS SENA MADUREIRA30-12-2008NorteACSena MadureiraVale do AcreSena Madureira
314547INSTITUTO FEDERAL DE ALAGOAS - CAMPUS ARAPIRACA06-07-2010NordesteALArapiracaAgreste AlagoanoArapiraca
432010INSTITUTO FEDERAL DE ALAGOAS - CAMPUS CORURIPE22-01-2014NordesteALCoruripeLeste AlagoanoSão Miguel dos Campos
\n", 108 | "
" 109 | ], 110 | "text/plain": [ 111 | " CODIGO_UNIDADE NOME_UNIDADE \\\n", 112 | "0 2879 INSTITUTO FEDERAL DA BAHIA - CAMPUS EUNÁPOLIS \n", 113 | "1 2948 INSTITUTO FEDERAL BAIANO - CAMPUS ITAPETINGA \n", 114 | "2 14328 INSTITUTO FEDERAL DO ACRE - CAMPUS SENA MADUREIRA \n", 115 | "3 14547 INSTITUTO FEDERAL DE ALAGOAS - CAMPUS ARAPIRACA \n", 116 | "4 32010 INSTITUTO FEDERAL DE ALAGOAS - CAMPUS CORURIPE \n", 117 | "\n", 118 | " DT_AUTORIZA_FUNCIONA_UNID NOME_REGIAO_UNIDADE SIGLA_UF_UNIDADE \\\n", 119 | "0 07-01-2009 Nordeste BA \n", 120 | "1 07-01-2009 Nordeste BA \n", 121 | "2 30-12-2008 Norte AC \n", 122 | "3 06-07-2010 Nordeste AL \n", 123 | "4 22-01-2014 Nordeste AL \n", 124 | "\n", 125 | " NOME_MUNICIPIO_UNIDADE NOME_MESORREGIAO_UNIDADE NOME_MICRORREGIAO_UNIDADE \n", 126 | "0 Eunápolis Sul Baiano Porto Seguro \n", 127 | "1 Itapetinga Centro Sul Baiano Itapetinga \n", 128 | "2 Sena Madureira Vale do Acre Sena Madureira \n", 129 | "3 Arapiraca Agreste Alagoano Arapiraca \n", 130 | "4 Coruripe Leste Alagoano São Miguel dos Campos " 131 | ] 132 | }, 133 | "execution_count": 12, 134 | "metadata": {}, 135 | "output_type": "execute_result" 136 | } 137 | ], 138 | "source": [ 139 | "# Carregar o arquivo CSV\n", 140 | "# Pandas vai converter o arquivo em um DataFrame\n", 141 | "# Por convenção, chamamos o DataFrame de df\n", 142 | "# O arquivo é separado por ';', por isso informamos o parâmetro 'sep'\n", 143 | "# O arquivo é codificado como cp1252\n", 144 | "df = pd.read_csv('PDA_UNIDADES_RF_EPCT_CSV.csv', sep=';', encoding='cp1252')\n", 145 | "\n", 146 | "# Mostra as 5 primeiras linhas do DataFrame\n", 147 | "df.head()" 148 | ] 149 | }, 150 | { 151 | "cell_type": "code", 152 | "execution_count": 14, 153 | "metadata": {}, 154 | "outputs": [ 155 | { 156 | "data": { 157 | "text/plain": [ 158 | "CODIGO_UNIDADE 618\n", 159 | "NOME_UNIDADE 618\n", 160 | "DT_AUTORIZA_FUNCIONA_UNID 618\n", 161 | "NOME_REGIAO_UNIDADE 618\n", 162 | "SIGLA_UF_UNIDADE 618\n", 163 | "NOME_MUNICIPIO_UNIDADE 618\n", 164 | "NOME_MESORREGIAO_UNIDADE 618\n", 165 | "NOME_MICRORREGIAO_UNIDADE 618\n", 166 | "dtype: int64" 167 | ] 168 | }, 169 | "execution_count": 14, 170 | "metadata": {}, 171 | "output_type": "execute_result" 172 | } 173 | ], 174 | "source": [ 175 | "# Quantas escolas no arquivo?\n", 176 | "df.count()" 177 | ] 178 | }, 179 | { 180 | "cell_type": "code", 181 | "execution_count": 15, 182 | "metadata": {}, 183 | "outputs": [ 184 | { 185 | "data": { 186 | "text/html": [ 187 | "
\n", 188 | "\n", 201 | "\n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | "
CODIGO_UNIDADE
count618.000000
mean16255.610032
std12973.588737
min354.000000
25%2998.500000
50%13840.500000
75%30818.250000
max44307.000000
\n", 243 | "
" 244 | ], 245 | "text/plain": [ 246 | " CODIGO_UNIDADE\n", 247 | "count 618.000000\n", 248 | "mean 16255.610032\n", 249 | "std 12973.588737\n", 250 | "min 354.000000\n", 251 | "25% 2998.500000\n", 252 | "50% 13840.500000\n", 253 | "75% 30818.250000\n", 254 | "max 44307.000000" 255 | ] 256 | }, 257 | "execution_count": 15, 258 | "metadata": {}, 259 | "output_type": "execute_result" 260 | } 261 | ], 262 | "source": [ 263 | "# Descreve as colunas numéricas\n", 264 | "df.describe()" 265 | ] 266 | }, 267 | { 268 | "cell_type": "code", 269 | "execution_count": 16, 270 | "metadata": {}, 271 | "outputs": [ 272 | { 273 | "data": { 274 | "text/plain": [ 275 | "CODIGO_UNIDADE int64\n", 276 | "NOME_UNIDADE object\n", 277 | "DT_AUTORIZA_FUNCIONA_UNID object\n", 278 | "NOME_REGIAO_UNIDADE object\n", 279 | "SIGLA_UF_UNIDADE object\n", 280 | "NOME_MUNICIPIO_UNIDADE object\n", 281 | "NOME_MESORREGIAO_UNIDADE object\n", 282 | "NOME_MICRORREGIAO_UNIDADE object\n", 283 | "dtype: object" 284 | ] 285 | }, 286 | "execution_count": 16, 287 | "metadata": {}, 288 | "output_type": "execute_result" 289 | } 290 | ], 291 | "source": [ 292 | "# Mostra o tipo de cada coluna do DataFrame\n", 293 | "df.dtypes" 294 | ] 295 | }, 296 | { 297 | "cell_type": "code", 298 | "execution_count": 18, 299 | "metadata": {}, 300 | "outputs": [ 301 | { 302 | "data": { 303 | "text/plain": [ 304 | "Nordeste 202\n", 305 | "Sudeste 163\n", 306 | "Sul 116\n", 307 | "Norte 70\n", 308 | "Centro-Oeste 67\n", 309 | "Name: NOME_REGIAO_UNIDADE, dtype: int64" 310 | ] 311 | }, 312 | "execution_count": 18, 313 | "metadata": {}, 314 | "output_type": "execute_result" 315 | } 316 | ], 317 | "source": [ 318 | "# Quantas escolas existem em cada região do Brasil\n", 319 | "df['NOME_REGIAO_UNIDADE'].value_counts()" 320 | ] 321 | }, 322 | { 323 | "cell_type": "code", 324 | "execution_count": 21, 325 | "metadata": {}, 326 | "outputs": [ 327 | { 328 | "data": { 329 | "text/plain": [ 330 | "MG 67\n", 331 | "RS 45\n", 332 | "RJ 39\n", 333 | "SC 36\n", 334 | "PR 35\n", 335 | "SP 35\n", 336 | "BA 34\n", 337 | "CE 27\n", 338 | "MA 27\n", 339 | "GO 26\n", 340 | "PI 23\n", 341 | "PE 23\n", 342 | "RN 23\n", 343 | "ES 22\n", 344 | "PB 21\n", 345 | "PA 20\n", 346 | "MT 19\n", 347 | "AL 16\n", 348 | "AM 15\n", 349 | "MS 11\n", 350 | "TO 11\n", 351 | "DF 11\n", 352 | "RO 8\n", 353 | "SE 8\n", 354 | "AC 6\n", 355 | "RR 6\n", 356 | "AP 4\n", 357 | "Name: SIGLA_UF_UNIDADE, dtype: int64" 358 | ] 359 | }, 360 | "execution_count": 21, 361 | "metadata": {}, 362 | "output_type": "execute_result" 363 | } 364 | ], 365 | "source": [ 366 | "# Vamos contar agora por Unidade da Federação (Estado)\n", 367 | "df['SIGLA_UF_UNIDADE'].value_counts()" 368 | ] 369 | }, 370 | { 371 | "cell_type": "code", 372 | "execution_count": 23, 373 | "metadata": {}, 374 | "outputs": [ 375 | { 376 | "data": { 377 | "text/plain": [ 378 | "" 379 | ] 380 | }, 381 | "execution_count": 23, 382 | "metadata": {}, 383 | "output_type": "execute_result" 384 | }, 385 | { 386 | "data": { 387 | "image/png": "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\n", 388 | "text/plain": [ 389 | "
" 390 | ] 391 | }, 392 | "metadata": { 393 | "needs_background": "light" 394 | }, 395 | "output_type": "display_data" 396 | } 397 | ], 398 | "source": [ 399 | "# Mostrando os dados em um gráfico\n", 400 | "\n", 401 | "# Nós precisamos informar que queremos visualizar o gráfico dentro\n", 402 | "# do próprio jupyter notebook\n", 403 | "%matplotlib inline\n", 404 | "\n", 405 | "# Agora vamos pegar as escolas por UF e mostrar em um gráfico\n", 406 | "# de barras\n", 407 | "df['SIGLA_UF_UNIDADE'].value_counts().plot.bar()" 408 | ] 409 | } 410 | ], 411 | "metadata": { 412 | "kernelspec": { 413 | "display_name": "Python 3", 414 | "language": "python", 415 | "name": "python3" 416 | }, 417 | "language_info": { 418 | "codemirror_mode": { 419 | "name": "ipython", 420 | "version": 3 421 | }, 422 | "file_extension": ".py", 423 | "mimetype": "text/x-python", 424 | "name": "python", 425 | "nbconvert_exporter": "python", 426 | "pygments_lexer": "ipython3", 427 | "version": "3.7.1" 428 | } 429 | }, 430 | "nbformat": 4, 431 | "nbformat_minor": 2 432 | } 433 | -------------------------------------------------------------------------------- /excel_filmes_exibidos_brasil_2009_2017.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Análise de dados de filmes exibidos no Brasil de 2009 a 2017\n", 8 | "Com base nos dados da Ancine (http://oca.ancine.gov.br), vamos analisar os filmes exibidos no Brasil\n", 9 | "\n", 10 | "Arquivo -> 2120_0.xlsx" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 1, 16 | "metadata": {}, 17 | "outputs": [], 18 | "source": [ 19 | "# Importando as bibliotecas\n", 20 | "import pandas as pd\n", 21 | "# Configurando o matplotlib\n", 22 | "%matplotlib inline" 23 | ] 24 | }, 25 | { 26 | "cell_type": "code", 27 | "execution_count": 6, 28 | "metadata": {}, 29 | "outputs": [], 30 | "source": [ 31 | "# Criando o DataFrame com base no arquivo Excel\n", 32 | "# Precisamos pular as 2 primeiras linhas\n", 33 | "# Precisamos desconsiderar as últimas 16 linhas\n", 34 | "df = pd.read_excel('2120_0.xlsx', skiprows=2, skipfooter=16)" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": 7, 40 | "metadata": {}, 41 | "outputs": [ 42 | { 43 | "data": { 44 | "text/html": [ 45 | "
\n", 46 | "\n", 59 | "\n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | "
Ano de exibiçãoTítulo da obraGêneroPaís(es) produtor(es) da obraNacionalidade da obraData de lançamentoDistribuidoraOrigem da empresa distribuidoraPúblico no ano de exibiçãoRenda (R$) no ano de exibição
02017#ScreamersFicçãoEstados UnidosEstrangeiros2017-11-30 00:00:00Cineart FilmesDistribuição Nacional7149437.45
1201710 Centavos para o Número da BestaDocumentárioBrasilBrasileiros2017-11-28 00:00:00Ponto de EquilíbrioDistribuição Nacional763.00
22017120 batimentos por minutoFicçãoFrançaEstrangeiros2018-01-04 00:00:00ImovisionDistribuição Nacional2623791.63
3201713 MinutosFicçãoAlemanhaEstrangeiros2016-11-03 00:00:00Alphaville FilmesDistribuição Nacional6206463.50
42017150 MiligramasFicçãoFrançaEstrangeiros2017-08-31 00:00:00CalifórniaDistribuição Nacional77110508.71
\n", 143 | "
" 144 | ], 145 | "text/plain": [ 146 | " Ano de exibição Título da obra Gênero \\\n", 147 | "0 2017 #Screamers Ficção \n", 148 | "1 2017 10 Centavos para o Número da Besta Documentário \n", 149 | "2 2017 120 batimentos por minuto Ficção \n", 150 | "3 2017 13 Minutos Ficção \n", 151 | "4 2017 150 Miligramas Ficção \n", 152 | "\n", 153 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n", 154 | "0 Estados Unidos Estrangeiros 2017-11-30 00:00:00 \n", 155 | "1 Brasil Brasileiros 2017-11-28 00:00:00 \n", 156 | "2 França Estrangeiros 2018-01-04 00:00:00 \n", 157 | "3 Alemanha Estrangeiros 2016-11-03 00:00:00 \n", 158 | "4 França Estrangeiros 2017-08-31 00:00:00 \n", 159 | "\n", 160 | " Distribuidora Origem da empresa distribuidora \\\n", 161 | "0 Cineart Filmes Distribuição Nacional \n", 162 | "1 Ponto de Equilíbrio Distribuição Nacional \n", 163 | "2 Imovision Distribuição Nacional \n", 164 | "3 Alphaville Filmes Distribuição Nacional \n", 165 | "4 Califórnia Distribuição Nacional \n", 166 | "\n", 167 | " Público no ano de exibição Renda (R$) no ano de exibição \n", 168 | "0 714 9437.45 \n", 169 | "1 7 63.00 \n", 170 | "2 262 3791.63 \n", 171 | "3 620 6463.50 \n", 172 | "4 771 10508.71 " 173 | ] 174 | }, 175 | "execution_count": 7, 176 | "metadata": {}, 177 | "output_type": "execute_result" 178 | } 179 | ], 180 | "source": [ 181 | "# Exibindo as primeiras linhas\n", 182 | "df.head()" 183 | ] 184 | }, 185 | { 186 | "cell_type": "code", 187 | "execution_count": 8, 188 | "metadata": {}, 189 | "outputs": [ 190 | { 191 | "data": { 192 | "text/html": [ 193 | "
\n", 194 | "\n", 207 | "\n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | "
Ano de exibiçãoTítulo da obraGêneroPaís(es) produtor(es) da obraNacionalidade da obraData de lançamentoDistribuidoraOrigem da empresa distribuidoraPúblico no ano de exibiçãoRenda (R$) no ano de exibição
56862009X-Men Origens: WolverineFicçãoEstados UnidosEstrangeiros2009-05-01 00:00:00FoxDistribuição Internacional319943427352313.00
56872009Xuxa em o Mistério de FeiurinhaFicçãoBrasilBrasileiros2009-12-25 00:00:00PlayarteDistribuição Nacional2501091766416.65
56882009Xuxa em Sonho de MeninaFicçãoBrasilBrasileiros2007-12-21 00:00:00WarnerDistribuição Internacional891426880.00
56892009Xuxa GêmeasFicçãoBrasilBrasileiros2006-12-15 00:00:00FoxDistribuição Internacional16715013.00
56902009Zico na RedeDocumentárioBrasilBrasileiros2009-07-03 00:00:00Business TelecomDistribuição Nacional5462529.50
\n", 291 | "
" 292 | ], 293 | "text/plain": [ 294 | " Ano de exibição Título da obra Gênero \\\n", 295 | "5686 2009 X-Men Origens: Wolverine Ficção \n", 296 | "5687 2009 Xuxa em o Mistério de Feiurinha Ficção \n", 297 | "5688 2009 Xuxa em Sonho de Menina Ficção \n", 298 | "5689 2009 Xuxa Gêmeas Ficção \n", 299 | "5690 2009 Zico na Rede Documentário \n", 300 | "\n", 301 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n", 302 | "5686 Estados Unidos Estrangeiros 2009-05-01 00:00:00 \n", 303 | "5687 Brasil Brasileiros 2009-12-25 00:00:00 \n", 304 | "5688 Brasil Brasileiros 2007-12-21 00:00:00 \n", 305 | "5689 Brasil Brasileiros 2006-12-15 00:00:00 \n", 306 | "5690 Brasil Brasileiros 2009-07-03 00:00:00 \n", 307 | "\n", 308 | " Distribuidora Origem da empresa distribuidora \\\n", 309 | "5686 Fox Distribuição Internacional \n", 310 | "5687 Playarte Distribuição Nacional \n", 311 | "5688 Warner Distribuição Internacional \n", 312 | "5689 Fox Distribuição Internacional \n", 313 | "5690 Business Telecom Distribuição Nacional \n", 314 | "\n", 315 | " Público no ano de exibição Renda (R$) no ano de exibição \n", 316 | "5686 3199434 27352313.00 \n", 317 | "5687 250109 1766416.65 \n", 318 | "5688 8914 26880.00 \n", 319 | "5689 1671 5013.00 \n", 320 | "5690 546 2529.50 " 321 | ] 322 | }, 323 | "execution_count": 8, 324 | "metadata": {}, 325 | "output_type": "execute_result" 326 | } 327 | ], 328 | "source": [ 329 | "# Exibindo as últimas linhas\n", 330 | "df.tail()" 331 | ] 332 | }, 333 | { 334 | "cell_type": "code", 335 | "execution_count": 11, 336 | "metadata": {}, 337 | "outputs": [ 338 | { 339 | "data": { 340 | "text/plain": [ 341 | "Ano de exibição int64\n", 342 | "Título da obra object\n", 343 | "Gênero object\n", 344 | "País(es) produtor(es) da obra object\n", 345 | "Nacionalidade da obra object\n", 346 | "Data de lançamento object\n", 347 | "Distribuidora object\n", 348 | "Origem da empresa distribuidora object\n", 349 | "Público no ano de exibição int64\n", 350 | "Renda (R$) no ano de exibição float64\n", 351 | "dtype: object" 352 | ] 353 | }, 354 | "execution_count": 11, 355 | "metadata": {}, 356 | "output_type": "execute_result" 357 | } 358 | ], 359 | "source": [ 360 | "# Verificar os tipos das colunas\n", 361 | "df.dtypes" 362 | ] 363 | }, 364 | { 365 | "cell_type": "code", 366 | "execution_count": 12, 367 | "metadata": {}, 368 | "outputs": [ 369 | { 370 | "ename": "TypeError", 371 | "evalue": "invalid string coercion to datetime", 372 | "output_type": "error", 373 | "traceback": [ 374 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", 375 | "\u001b[1;31mUnicodeEncodeError\u001b[0m Traceback (most recent call last)", 376 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n", 377 | "\u001b[1;32mpandas\\_libs\\tslibs\\np_datetime.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.np_datetime._string_to_dts\u001b[1;34m()\u001b[0m\n", 378 | "\u001b[1;31mUnicodeEncodeError\u001b[0m: 'ascii' codec can't encode character '\\xe7' in position 5: ordinal not in range(128)", 379 | "\nDuring handling of the above exception, another exception occurred:\n", 380 | "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", 381 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n", 382 | "\u001b[1;32mpandas\\_libs\\tslibs\\parsing.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.parsing.parse_datetime_string\u001b[1;34m()\u001b[0m\n", 383 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\dateutil\\parser\\_parser.py\u001b[0m in \u001b[0;36mparse\u001b[1;34m(timestr, parserinfo, **kwargs)\u001b[0m\n\u001b[0;32m 1355\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1356\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mDEFAULTPARSER\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtimestr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1357\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 384 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\dateutil\\parser\\_parser.py\u001b[0m in \u001b[0;36mparse\u001b[1;34m(self, timestr, default, ignoretz, tzinfos, **kwargs)\u001b[0m\n\u001b[0;32m 647\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 648\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Unknown string format:\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtimestr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 649\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 385 | "\u001b[1;31mValueError\u001b[0m: ('Unknown string format:', 'Relançamento')", 386 | "\nDuring handling of the above exception, another exception occurred:\n", 387 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", 388 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Converter a coluna 'Data de lançamento' de object para data\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mdt\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Data de lançamento'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_datetime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Data de lançamento'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", 389 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\pandas\\core\\tools\\datetimes.py\u001b[0m in \u001b[0;36mto_datetime\u001b[1;34m(arg, errors, dayfirst, yearfirst, utc, box, format, exact, unit, infer_datetime_format, origin, cache)\u001b[0m\n\u001b[0;32m 449\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 450\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSeries\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 451\u001b[1;33m \u001b[0mvalues\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_convert_listlike\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 452\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSeries\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 453\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mABCDataFrame\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mMutableMapping\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", 390 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\pandas\\core\\tools\\datetimes.py\u001b[0m in \u001b[0;36m_convert_listlike\u001b[1;34m(arg, box, format, name, tz)\u001b[0m\n\u001b[0;32m 366\u001b[0m \u001b[0mdayfirst\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdayfirst\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 367\u001b[0m \u001b[0myearfirst\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0myearfirst\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 368\u001b[1;33m \u001b[0mrequire_iso8601\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrequire_iso8601\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 369\u001b[0m )\n\u001b[0;32m 370\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", 391 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n", 392 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n", 393 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n", 394 | "\u001b[1;31mTypeError\u001b[0m: invalid string coercion to datetime" 395 | ] 396 | } 397 | ], 398 | "source": [ 399 | "# Converter a coluna 'Data de lançamento' de object para data\n", 400 | "dt['Data de lançamento'] = pd.to_datetime(df['Data de lançamento'])" 401 | ] 402 | }, 403 | { 404 | "cell_type": "code", 405 | "execution_count": 13, 406 | "metadata": {}, 407 | "outputs": [ 408 | { 409 | "data": { 410 | "text/plain": [ 411 | "Relançamento 175\n", 412 | "2015-12-03 00:00:00 33\n", 413 | "2012-12-21 00:00:00 33\n", 414 | "2013-11-29 00:00:00 29\n", 415 | "2012-11-02 00:00:00 27\n", 416 | "2015-11-12 00:00:00 25\n", 417 | "2015-11-19 00:00:00 25\n", 418 | "2013-11-01 00:00:00 23\n", 419 | "2013-12-06 00:00:00 23\n", 420 | "2013-10-11 00:00:00 23\n", 421 | "2016-11-17 00:00:00 23\n", 422 | "2014-11-06 00:00:00 21\n", 423 | "2011-11-11 00:00:00 21\n", 424 | "2011-12-02 00:00:00 21\n", 425 | "2013-09-13 00:00:00 21\n", 426 | "2009-12-11 00:00:00 20\n", 427 | "2011-09-30 00:00:00 19\n", 428 | "2016-11-10 00:00:00 19\n", 429 | "2011-12-09 00:00:00 19\n", 430 | "2013-12-20 00:00:00 19\n", 431 | "2014-06-19 00:00:00 19\n", 432 | "2013-09-06 00:00:00 18\n", 433 | "2016-12-01 00:00:00 18\n", 434 | "2015-12-10 00:00:00 18\n", 435 | "2015-11-26 00:00:00 18\n", 436 | "2011-11-25 00:00:00 18\n", 437 | "2014-12-04 00:00:00 18\n", 438 | "2015-08-20 00:00:00 18\n", 439 | "2016-11-24 00:00:00 18\n", 440 | "2012-10-12 00:00:00 18\n", 441 | " ... \n", 442 | "2018-03-15 00:00:00 1\n", 443 | "2014-07-26 00:00:00 1\n", 444 | "2017-12-02 00:00:00 1\n", 445 | "2017-12-25 00:00:00 1\n", 446 | "2008-02-15 00:00:00 1\n", 447 | "2004-11-06 00:00:00 1\n", 448 | "2018-02-22 00:00:00 1\n", 449 | "2015-09-29 00:00:00 1\n", 450 | "2010-05-08 00:00:00 1\n", 451 | "2014-01-18 00:00:00 1\n", 452 | "2009-10-03 00:00:00 1\n", 453 | "2018-04-12 00:00:00 1\n", 454 | "2008-10-18 00:00:00 1\n", 455 | "2015-09-12 00:00:00 1\n", 456 | "2007-11-02 00:00:00 1\n", 457 | "2009-03-14 00:00:00 1\n", 458 | "2006-12-15 00:00:00 1\n", 459 | "2005-10-07 00:00:00 1\n", 460 | "2006-09-29 00:00:00 1\n", 461 | "1998-10-30 00:00:00 1\n", 462 | "2018-01-18 00:00:00 1\n", 463 | "2015-01-01 00:00:00 1\n", 464 | "2013-06-15 00:00:00 1\n", 465 | "2006-08-11 00:00:00 1\n", 466 | "2011-02-05 00:00:00 1\n", 467 | "2009-10-28 00:00:00 1\n", 468 | "2011-07-02 00:00:00 1\n", 469 | "2011-08-13 00:00:00 1\n", 470 | "2014-10-01 00:00:00 1\n", 471 | "2006-10-13 00:00:00 1\n", 472 | "Name: Data de lançamento, Length: 759, dtype: int64" 473 | ] 474 | }, 475 | "execution_count": 13, 476 | "metadata": {}, 477 | "output_type": "execute_result" 478 | } 479 | ], 480 | "source": [ 481 | "# Vamos tentar identificar o problema da coluna 'Data de lançamento'\n", 482 | "df['Data de lançamento'].value_counts()" 483 | ] 484 | }, 485 | { 486 | "cell_type": "code", 487 | "execution_count": 15, 488 | "metadata": {}, 489 | "outputs": [ 490 | { 491 | "data": { 492 | "text/html": [ 493 | "
\n", 494 | "\n", 507 | "\n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | " \n", 551 | " \n", 552 | " \n", 553 | " \n", 554 | " \n", 555 | " \n", 556 | " \n", 557 | " \n", 558 | " \n", 559 | " \n", 560 | " \n", 561 | " \n", 562 | " \n", 563 | " \n", 564 | " \n", 565 | " \n", 566 | " \n", 567 | " \n", 568 | " \n", 569 | " \n", 570 | " \n", 571 | " \n", 572 | " \n", 573 | " \n", 574 | " \n", 575 | " \n", 576 | " \n", 577 | " \n", 578 | " \n", 579 | " \n", 580 | " \n", 581 | " \n", 582 | " \n", 583 | " \n", 584 | " \n", 585 | " \n", 586 | " \n", 587 | " \n", 588 | " \n", 589 | " \n", 590 | "
Ano de exibiçãoTítulo da obraGêneroPaís(es) produtor(es) da obraNacionalidade da obraData de lançamentoDistribuidoraOrigem da empresa distribuidoraPúblico no ano de exibiçãoRenda (R$) no ano de exibição
72017FicçãoFrança, ItáliaEstrangeirosRelançamentoF. J. CinesDistribuição Nacional29196.00
112017A bela da tardeFicçãoFrança, ItáliaEstrangeirosRelançamentoZeta FilmesDistribuição Nacional301142839.31
362017A História sem FimFicçãoAlemanha, Estados UnidosEstrangeirosRelançamentoF. J. CinesDistribuição Nacional7976969.00
532017A primeira noite de um homemFicçãoEstados UnidosEstrangeirosRelançamentoZeta FilmesDistribuição Nacional1296.00
1282017Ballet Bolshoi: A bela adormecidaVídeomusicalInglaterraEstrangeirosRelançamentoUCIDistribuição Nacional150441391.00
\n", 591 | "
" 592 | ], 593 | "text/plain": [ 594 | " Ano de exibição Título da obra Gênero \\\n", 595 | "7 2017 8½ Ficção \n", 596 | "11 2017 A bela da tarde Ficção \n", 597 | "36 2017 A História sem Fim Ficção \n", 598 | "53 2017 A primeira noite de um homem Ficção \n", 599 | "128 2017 Ballet Bolshoi: A bela adormecida Vídeomusical \n", 600 | "\n", 601 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n", 602 | "7 França, Itália Estrangeiros Relançamento \n", 603 | "11 França, Itália Estrangeiros Relançamento \n", 604 | "36 Alemanha, Estados Unidos Estrangeiros Relançamento \n", 605 | "53 Estados Unidos Estrangeiros Relançamento \n", 606 | "128 Inglaterra Estrangeiros Relançamento \n", 607 | "\n", 608 | " Distribuidora Origem da empresa distribuidora Público no ano de exibição \\\n", 609 | "7 F. J. Cines Distribuição Nacional 29 \n", 610 | "11 Zeta Filmes Distribuição Nacional 3011 \n", 611 | "36 F. J. Cines Distribuição Nacional 797 \n", 612 | "53 Zeta Filmes Distribuição Nacional 12 \n", 613 | "128 UCI Distribuição Nacional 1504 \n", 614 | "\n", 615 | " Renda (R$) no ano de exibição \n", 616 | "7 196.00 \n", 617 | "11 42839.31 \n", 618 | "36 6969.00 \n", 619 | "53 96.00 \n", 620 | "128 41391.00 " 621 | ] 622 | }, 623 | "execution_count": 15, 624 | "metadata": {}, 625 | "output_type": "execute_result" 626 | } 627 | ], 628 | "source": [ 629 | " # Exibir alguns filmes que estão com data de lançamento igual à Relançamento\n", 630 | "df[df['Data de lançamento'] == 'Relançamento'].head()" 631 | ] 632 | }, 633 | { 634 | "cell_type": "markdown", 635 | "metadata": {}, 636 | "source": [ 637 | "## Decisão sobre dados incorretos/faltantes/divergentes" 638 | ] 639 | }, 640 | { 641 | "cell_type": "code", 642 | "execution_count": 19, 643 | "metadata": {}, 644 | "outputs": [], 645 | "source": [ 646 | "# Criar novo DataFrame sem os relançamentos\n", 647 | "df_novo = df[df['Data de lançamento'] != 'Relançamento'].copy()" 648 | ] 649 | }, 650 | { 651 | "cell_type": "code", 652 | "execution_count": 20, 653 | "metadata": {}, 654 | "outputs": [ 655 | { 656 | "data": { 657 | "text/plain": [ 658 | "(5516, 10)" 659 | ] 660 | }, 661 | "execution_count": 20, 662 | "metadata": {}, 663 | "output_type": "execute_result" 664 | } 665 | ], 666 | "source": [ 667 | "# Exibe o tamanho do DataFrame (linhas, colunas)\n", 668 | "df_novo.shape" 669 | ] 670 | }, 671 | { 672 | "cell_type": "code", 673 | "execution_count": 21, 674 | "metadata": {}, 675 | "outputs": [ 676 | { 677 | "data": { 678 | "text/plain": [ 679 | "Ano de exibição int64\n", 680 | "Título da obra object\n", 681 | "Gênero object\n", 682 | "País(es) produtor(es) da obra object\n", 683 | "Nacionalidade da obra object\n", 684 | "Data de lançamento object\n", 685 | "Distribuidora object\n", 686 | "Origem da empresa distribuidora object\n", 687 | "Público no ano de exibição int64\n", 688 | "Renda (R$) no ano de exibição float64\n", 689 | "dtype: object" 690 | ] 691 | }, 692 | "execution_count": 21, 693 | "metadata": {}, 694 | "output_type": "execute_result" 695 | } 696 | ], 697 | "source": [ 698 | "# Vamos verificar os tipos das colunas\n", 699 | "df_novo.dtypes" 700 | ] 701 | }, 702 | { 703 | "cell_type": "code", 704 | "execution_count": 23, 705 | "metadata": {}, 706 | "outputs": [], 707 | "source": [ 708 | "# Converter a coluna 'Data de lançamento' de object para data\n", 709 | "df_novo['Data de lançamento'] = pd.to_datetime(df_novo['Data de lançamento'])" 710 | ] 711 | }, 712 | { 713 | "cell_type": "code", 714 | "execution_count": 25, 715 | "metadata": {}, 716 | "outputs": [ 717 | { 718 | "data": { 719 | "text/plain": [ 720 | "Ano de exibição int64\n", 721 | "Título da obra object\n", 722 | "Gênero object\n", 723 | "País(es) produtor(es) da obra object\n", 724 | "Nacionalidade da obra object\n", 725 | "Data de lançamento datetime64[ns]\n", 726 | "Distribuidora object\n", 727 | "Origem da empresa distribuidora object\n", 728 | "Público no ano de exibição int64\n", 729 | "Renda (R$) no ano de exibição float64\n", 730 | "dtype: object" 731 | ] 732 | }, 733 | "execution_count": 25, 734 | "metadata": {}, 735 | "output_type": "execute_result" 736 | } 737 | ], 738 | "source": [ 739 | "# Vamos verificar os tipos das colunas\n", 740 | "df_novo.dtypes" 741 | ] 742 | }, 743 | { 744 | "cell_type": "code", 745 | "execution_count": 26, 746 | "metadata": {}, 747 | "outputs": [ 748 | { 749 | "data": { 750 | "text/plain": [ 751 | "2013 669\n", 752 | "2015 646\n", 753 | "2014 619\n", 754 | "2016 613\n", 755 | "2011 553\n", 756 | "2012 539\n", 757 | "2009 503\n", 758 | "2017 487\n", 759 | "2010 475\n", 760 | "2008 225\n", 761 | "2007 61\n", 762 | "2006 49\n", 763 | "2005 29\n", 764 | "2018 17\n", 765 | "2004 10\n", 766 | "2002 6\n", 767 | "2001 5\n", 768 | "2003 4\n", 769 | "1999 3\n", 770 | "2000 2\n", 771 | "1998 1\n", 772 | "Name: Data de lançamento, dtype: int64" 773 | ] 774 | }, 775 | "execution_count": 26, 776 | "metadata": {}, 777 | "output_type": "execute_result" 778 | } 779 | ], 780 | "source": [ 781 | "# Quais os anos tiverem mais filmes lançados?\n", 782 | "df_novo['Data de lançamento'].dt.year.value_counts()" 783 | ] 784 | }, 785 | { 786 | "cell_type": "code", 787 | "execution_count": 29, 788 | "metadata": {}, 789 | "outputs": [ 790 | { 791 | "data": { 792 | "text/plain": [ 793 | "" 794 | ] 795 | }, 796 | "execution_count": 29, 797 | "metadata": {}, 798 | "output_type": "execute_result" 799 | }, 800 | { 801 | "data": { 802 | "image/png": "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\n", 803 | "text/plain": [ 804 | "
" 805 | ] 806 | }, 807 | "metadata": { 808 | "needs_background": "light" 809 | }, 810 | "output_type": "display_data" 811 | } 812 | ], 813 | "source": [ 814 | "# Plotar gráfico com os lançamentos por ano\n", 815 | "df_novo['Data de lançamento'].dt.year.value_counts().plot.bar()" 816 | ] 817 | }, 818 | { 819 | "cell_type": "code", 820 | "execution_count": 30, 821 | "metadata": {}, 822 | "outputs": [ 823 | { 824 | "data": { 825 | "text/html": [ 826 | "
\n", 827 | "\n", 840 | "\n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | "
Ano de exibiçãoTítulo da obraGêneroPaís(es) produtor(es) da obraNacionalidade da obraData de lançamentoDistribuidoraOrigem da empresa distribuidoraPúblico no ano de exibiçãoRenda (R$) no ano de exibição
22492015Vingadores: A Era de UltronFicçãoEstados UnidosEstrangeiros2015-04-23DisneyDistribuição Internacional10129071146184931.0
\n", 872 | "
" 873 | ], 874 | "text/plain": [ 875 | " Ano de exibição Título da obra Gênero \\\n", 876 | "2249 2015 Vingadores: A Era de Ultron Ficção \n", 877 | "\n", 878 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n", 879 | "2249 Estados Unidos Estrangeiros 2015-04-23 \n", 880 | "\n", 881 | " Distribuidora Origem da empresa distribuidora \\\n", 882 | "2249 Disney Distribuição Internacional \n", 883 | "\n", 884 | " Público no ano de exibição Renda (R$) no ano de exibição \n", 885 | "2249 10129071 146184931.0 " 886 | ] 887 | }, 888 | "execution_count": 30, 889 | "metadata": {}, 890 | "output_type": "execute_result" 891 | } 892 | ], 893 | "source": [ 894 | "# Qual é o filme que teve a maior bilheteria?\n", 895 | "df_novo[df_novo['Renda (R$) no ano de exibição'] == df_novo['Renda (R$) no ano de exibição'].max()]" 896 | ] 897 | }, 898 | { 899 | "cell_type": "code", 900 | "execution_count": 31, 901 | "metadata": {}, 902 | "outputs": [ 903 | { 904 | "data": { 905 | "text/html": [ 906 | "
\n", 907 | "\n", 920 | "\n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | " \n", 963 | " \n", 964 | " \n", 965 | " \n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \n", 1118 | " \n", 1119 | " \n", 1120 | " \n", 1121 | " \n", 1122 | " \n", 1123 | " \n", 1124 | " \n", 1125 | " \n", 1126 | " \n", 1127 | " \n", 1128 | " \n", 1129 | " \n", 1130 | " \n", 1131 | " \n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | " \n", 1146 | " \n", 1147 | " \n", 1148 | " \n", 1149 | " \n", 1150 | " \n", 1151 | " \n", 1152 | " \n", 1153 | " \n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | " \n", 1161 | " \n", 1162 | " \n", 1163 | " \n", 1164 | " \n", 1165 | " \n", 1166 | " \n", 1167 | " \n", 1168 | " \n", 1169 | " \n", 1170 | " \n", 1171 | " \n", 1172 | " \n", 1173 | " \n", 1174 | " \n", 1175 | " \n", 1176 | " \n", 1177 | " \n", 1178 | " \n", 1179 | " \n", 1180 | " \n", 1181 | " \n", 1182 | " \n", 1183 | " \n", 1184 | " \n", 1185 | " \n", 1186 | " \n", 1187 | " \n", 1188 | " \n", 1189 | " \n", 1190 | " \n", 1191 | " \n", 1192 | " \n", 1193 | " \n", 1194 | " \n", 1195 | " \n", 1196 | " \n", 1197 | " \n", 1198 | " \n", 1199 | " \n", 1200 | " \n", 1201 | " \n", 1202 | " \n", 1203 | " \n", 1204 | " \n", 1205 | " \n", 1206 | " \n", 1207 | " \n", 1208 | " \n", 1209 | " \n", 1210 | " \n", 1211 | " \n", 1212 | " \n", 1213 | " \n", 1214 | " \n", 1215 | " \n", 1216 | " \n", 1217 | " \n", 1218 | " \n", 1219 | " \n", 1220 | " \n", 1221 | " \n", 1222 | " \n", 1223 | " \n", 1224 | " \n", 1225 | " \n", 1226 | " \n", 1227 | " \n", 1228 | " \n", 1229 | " \n", 1230 | " \n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | " \n", 1271 | " \n", 1272 | " \n", 1273 | " \n", 1274 | " \n", 1275 | " \n", 1276 | "
Ano de exibiçãoTítulo da obraGêneroPaís(es) produtor(es) da obraNacionalidade da obraData de lançamentoDistribuidoraOrigem da empresa distribuidoraPúblico no ano de exibiçãoRenda (R$) no ano de exibição
22772014A Batalha do passinhoDocumentárioBrasilBrasileiros2013-10-11Cine Santa TeresaDistribuição Nacional3550.0
26082014Mar negroFicçãoBrasilBrasileiros2014-01-17PetriniDistribuição Nacional00.0
27282014O Último Lance do LeilãoFicçãoBrasilBrasileiros2014-05-01Sam Rádio PicturesDistribuição Nacional00.0
30412013As horas vulgaresFicçãoBrasilBrasileiros2013-08-09PetriniDistribuição Nacional00.0
30582013Beije-me outra vezFicçãoItáliaEstrangeiros2013-05-10PetriniDistribuição Nacional00.0
31052013Crazy HorseFicçãoEstados UnidosEstrangeiros2013-06-28PetriniDistribuição Nacional00.0
33902013Quase um tangoFicçãoBrasilBrasileiros2013-08-16NGM ProduçõesDistribuição Nacional00.0
34592013Todos os DiasFicçãoReino UnidoEstrangeiros2014-01-24Esfera ProduçõesDistribuição Nacional00.0
36032012Apenas entre NósFicçãoFrança, Eslovênia, Sérvia, CroáciaEstrangeiros2015-05-07LumeDistribuição Nacional00.0
36272012Ataque ao prédioFicçãoReino UnidoEstrangeiros2012-01-13SonyDistribuição Internacional00.0
36652012Clementina de Jesus - Rainha QueléDocumentárioBrasilBrasileiros2012-11-15Werinton Kermes Telles MarsalDistribuição Nacional00.0
37872012Luto em LutaDocumentárioBrasilBrasileiros2012-09-21Like FilmesDistribuição Nacional00.0
38152012Movimento BrownianoFicçãoHolandaEstrangeiros2012-07-06PetriniDistribuição Nacional00.0
38292012O abrigoFicçãoEstados UnidosEstrangeiros2012-06-01SonyDistribuição Internacional00.0
39202012Ponto OrgFicçãoBrasilBrasileiros2012-09-21Usina DigitalDistribuição Nacional00.0
40852011A Última Estrada da PraiaFicçãoBrasilBrasileiros2011-09-16Okna ProduçõesDistribuição Nacional00.0
44622011Poema de SalvaçãoFicçãoArgentinaEstrangeiros2011-09-30Canzión filmesDistribuição Nacional00.0
44662011Porta a porta – A política em dois temposDocumentárioBrasilBrasileiros2011-12-02Zéfiro ProduçõesDistribuição Nacional00.0
45872011WalachaiDocumentárioBrasilBrasileiros2011-11-18CicloramaDistribuição Nacional00.0
47322010Cine Cocoricó: As Aventuras na CidadeFicçãoBrasilBrasileiros2009-07-17MoviemobzDistribuição Nacional10.0
48532010Luto Como MãeDocumentárioBrasilBrasileiros2010-08-20TV Zero CinemaDistribuição Nacional00.0
50222010Simonal - Ninguém Sabe o Duro que DeiDocumentárioBrasilBrasileiros2009-05-15Moviemobz/RioFilmeDistribuição Nacional10.0
52032009As Chaves de CasaFicçãoItáliaEstrangeiros2006-01-06Filmes do EstaçãoDistribuição Nacional00.0
54632009Naufrágio - Mistério e Morte na Catástrofe do ...DocumentárioBrasilBrasileiros2009-12-25Master Shot ProduçõesDistribuição Nacional00.0
55912009SantiagoDocumentárioBrasilBrasileiros2007-08-24VideofilmesDistribuição Nacional00.0
56662009Vamos Subir, LeãoDocumentárioBrasilBrasileiros2009-03-20Canal 3Distribuição Nacional00.0
\n", 1277 | "
" 1278 | ], 1279 | "text/plain": [ 1280 | " Ano de exibição Título da obra \\\n", 1281 | "2277 2014 A Batalha do passinho \n", 1282 | "2608 2014 Mar negro \n", 1283 | "2728 2014 O Último Lance do Leilão \n", 1284 | "3041 2013 As horas vulgares \n", 1285 | "3058 2013 Beije-me outra vez \n", 1286 | "3105 2013 Crazy Horse \n", 1287 | "3390 2013 Quase um tango \n", 1288 | "3459 2013 Todos os Dias \n", 1289 | "3603 2012 Apenas entre Nós \n", 1290 | "3627 2012 Ataque ao prédio \n", 1291 | "3665 2012 Clementina de Jesus - Rainha Quelé \n", 1292 | "3787 2012 Luto em Luta \n", 1293 | "3815 2012 Movimento Browniano \n", 1294 | "3829 2012 O abrigo \n", 1295 | "3920 2012 Ponto Org \n", 1296 | "4085 2011 A Última Estrada da Praia \n", 1297 | "4462 2011 Poema de Salvação \n", 1298 | "4466 2011 Porta a porta – A política em dois tempos \n", 1299 | "4587 2011 Walachai \n", 1300 | "4732 2010 Cine Cocoricó: As Aventuras na Cidade \n", 1301 | "4853 2010 Luto Como Mãe \n", 1302 | "5022 2010 Simonal - Ninguém Sabe o Duro que Dei \n", 1303 | "5203 2009 As Chaves de Casa \n", 1304 | "5463 2009 Naufrágio - Mistério e Morte na Catástrofe do ... \n", 1305 | "5591 2009 Santiago \n", 1306 | "5666 2009 Vamos Subir, Leão \n", 1307 | "\n", 1308 | " Gênero País(es) produtor(es) da obra Nacionalidade da obra \\\n", 1309 | "2277 Documentário Brasil Brasileiros \n", 1310 | "2608 Ficção Brasil Brasileiros \n", 1311 | "2728 Ficção Brasil Brasileiros \n", 1312 | "3041 Ficção Brasil Brasileiros \n", 1313 | "3058 Ficção Itália Estrangeiros \n", 1314 | "3105 Ficção Estados Unidos Estrangeiros \n", 1315 | "3390 Ficção Brasil Brasileiros \n", 1316 | "3459 Ficção Reino Unido Estrangeiros \n", 1317 | "3603 Ficção França, Eslovênia, Sérvia, Croácia Estrangeiros \n", 1318 | "3627 Ficção Reino Unido Estrangeiros \n", 1319 | "3665 Documentário Brasil Brasileiros \n", 1320 | "3787 Documentário Brasil Brasileiros \n", 1321 | "3815 Ficção Holanda Estrangeiros \n", 1322 | "3829 Ficção Estados Unidos Estrangeiros \n", 1323 | "3920 Ficção Brasil Brasileiros \n", 1324 | "4085 Ficção Brasil Brasileiros \n", 1325 | "4462 Ficção Argentina Estrangeiros \n", 1326 | "4466 Documentário Brasil Brasileiros \n", 1327 | "4587 Documentário Brasil Brasileiros \n", 1328 | "4732 Ficção Brasil Brasileiros \n", 1329 | "4853 Documentário Brasil Brasileiros \n", 1330 | "5022 Documentário Brasil Brasileiros \n", 1331 | "5203 Ficção Itália Estrangeiros \n", 1332 | "5463 Documentário Brasil Brasileiros \n", 1333 | "5591 Documentário Brasil Brasileiros \n", 1334 | "5666 Documentário Brasil Brasileiros \n", 1335 | "\n", 1336 | " Data de lançamento Distribuidora \\\n", 1337 | "2277 2013-10-11 Cine Santa Teresa \n", 1338 | "2608 2014-01-17 Petrini \n", 1339 | "2728 2014-05-01 Sam Rádio Pictures \n", 1340 | "3041 2013-08-09 Petrini \n", 1341 | "3058 2013-05-10 Petrini \n", 1342 | "3105 2013-06-28 Petrini \n", 1343 | "3390 2013-08-16 NGM Produções \n", 1344 | "3459 2014-01-24 Esfera Produções \n", 1345 | "3603 2015-05-07 Lume \n", 1346 | "3627 2012-01-13 Sony \n", 1347 | "3665 2012-11-15 Werinton Kermes Telles Marsal \n", 1348 | "3787 2012-09-21 Like Filmes \n", 1349 | "3815 2012-07-06 Petrini \n", 1350 | "3829 2012-06-01 Sony \n", 1351 | "3920 2012-09-21 Usina Digital \n", 1352 | "4085 2011-09-16 Okna Produções \n", 1353 | "4462 2011-09-30 Canzión filmes \n", 1354 | "4466 2011-12-02 Zéfiro Produções \n", 1355 | "4587 2011-11-18 Ciclorama \n", 1356 | "4732 2009-07-17 Moviemobz \n", 1357 | "4853 2010-08-20 TV Zero Cinema \n", 1358 | "5022 2009-05-15 Moviemobz/RioFilme \n", 1359 | "5203 2006-01-06 Filmes do Estação \n", 1360 | "5463 2009-12-25 Master Shot Produções \n", 1361 | "5591 2007-08-24 Videofilmes \n", 1362 | "5666 2009-03-20 Canal 3 \n", 1363 | "\n", 1364 | " Origem da empresa distribuidora Público no ano de exibição \\\n", 1365 | "2277 Distribuição Nacional 355 \n", 1366 | "2608 Distribuição Nacional 0 \n", 1367 | "2728 Distribuição Nacional 0 \n", 1368 | "3041 Distribuição Nacional 0 \n", 1369 | "3058 Distribuição Nacional 0 \n", 1370 | "3105 Distribuição Nacional 0 \n", 1371 | "3390 Distribuição Nacional 0 \n", 1372 | "3459 Distribuição Nacional 0 \n", 1373 | "3603 Distribuição Nacional 0 \n", 1374 | "3627 Distribuição Internacional 0 \n", 1375 | "3665 Distribuição Nacional 0 \n", 1376 | "3787 Distribuição Nacional 0 \n", 1377 | "3815 Distribuição Nacional 0 \n", 1378 | "3829 Distribuição Internacional 0 \n", 1379 | "3920 Distribuição Nacional 0 \n", 1380 | "4085 Distribuição Nacional 0 \n", 1381 | "4462 Distribuição Nacional 0 \n", 1382 | "4466 Distribuição Nacional 0 \n", 1383 | "4587 Distribuição Nacional 0 \n", 1384 | "4732 Distribuição Nacional 1 \n", 1385 | "4853 Distribuição Nacional 0 \n", 1386 | "5022 Distribuição Nacional 1 \n", 1387 | "5203 Distribuição Nacional 0 \n", 1388 | "5463 Distribuição Nacional 0 \n", 1389 | "5591 Distribuição Nacional 0 \n", 1390 | "5666 Distribuição Nacional 0 \n", 1391 | "\n", 1392 | " Renda (R$) no ano de exibição \n", 1393 | "2277 0.0 \n", 1394 | "2608 0.0 \n", 1395 | "2728 0.0 \n", 1396 | "3041 0.0 \n", 1397 | "3058 0.0 \n", 1398 | "3105 0.0 \n", 1399 | "3390 0.0 \n", 1400 | "3459 0.0 \n", 1401 | "3603 0.0 \n", 1402 | "3627 0.0 \n", 1403 | "3665 0.0 \n", 1404 | "3787 0.0 \n", 1405 | "3815 0.0 \n", 1406 | "3829 0.0 \n", 1407 | "3920 0.0 \n", 1408 | "4085 0.0 \n", 1409 | "4462 0.0 \n", 1410 | "4466 0.0 \n", 1411 | "4587 0.0 \n", 1412 | "4732 0.0 \n", 1413 | "4853 0.0 \n", 1414 | "5022 0.0 \n", 1415 | "5203 0.0 \n", 1416 | "5463 0.0 \n", 1417 | "5591 0.0 \n", 1418 | "5666 0.0 " 1419 | ] 1420 | }, 1421 | "execution_count": 31, 1422 | "metadata": {}, 1423 | "output_type": "execute_result" 1424 | } 1425 | ], 1426 | "source": [ 1427 | "# Qual é o filme que teve a menor bilheteria?\n", 1428 | "df_novo[df_novo['Renda (R$) no ano de exibição'] == df_novo['Renda (R$) no ano de exibição'].min()]" 1429 | ] 1430 | }, 1431 | { 1432 | "cell_type": "code", 1433 | "execution_count": 32, 1434 | "metadata": {}, 1435 | "outputs": [ 1436 | { 1437 | "data": { 1438 | "text/plain": [ 1439 | "Estrangeiros 3902\n", 1440 | "Brasileiros 1614\n", 1441 | "Name: Nacionalidade da obra, dtype: int64" 1442 | ] 1443 | }, 1444 | "execution_count": 32, 1445 | "metadata": {}, 1446 | "output_type": "execute_result" 1447 | } 1448 | ], 1449 | "source": [ 1450 | "# Quantos filmes brasileiros e estrangeiros?\n", 1451 | "df_novo['Nacionalidade da obra'].value_counts()" 1452 | ] 1453 | }, 1454 | { 1455 | "cell_type": "code", 1456 | "execution_count": null, 1457 | "metadata": {}, 1458 | "outputs": [], 1459 | "source": [] 1460 | } 1461 | ], 1462 | "metadata": { 1463 | "kernelspec": { 1464 | "display_name": "Python 3", 1465 | "language": "python", 1466 | "name": "python3" 1467 | }, 1468 | "language_info": { 1469 | "codemirror_mode": { 1470 | "name": "ipython", 1471 | "version": 3 1472 | }, 1473 | "file_extension": ".py", 1474 | "mimetype": "text/x-python", 1475 | "name": "python", 1476 | "nbconvert_exporter": "python", 1477 | "pygments_lexer": "ipython3", 1478 | "version": "3.7.1" 1479 | } 1480 | }, 1481 | "nbformat": 4, 1482 | "nbformat_minor": 2 1483 | } 1484 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Análise de Dados em Python - LabHacker Câmara dos Deputados 2 | 3 | Jupyter notebooks criados durante o curso de análise de dados com Python disponibilizado pelo [LabHacker Câmara dos Deputados](http://labhackercd.leg.br/). 4 | 5 | ## Vídeos 6 | 7 | * [Instalando o Anaconda](https://youtu.be/wiMVpFfxA0w) 8 | * [Aula 01](https://youtu.be/W_Bz7M91R1Q) 9 | * [Aula 02](https://youtu.be/2oZHg3HOtcY) 10 | * [Aula 03](https://youtu.be/zpNtiJsJ7KY) 11 | * [Aula 04](https://youtu.be/hyDvL_CzbX4) 12 | -------------------------------------------------------------------------------- /sih-janeiro-2017-cirurgias-eletiva-e-emergencia.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/sih-janeiro-2017-cirurgias-eletiva-e-emergencia.csv --------------------------------------------------------------------------------