├── 2016.csv ├── Analise Exploratória CEAPS.ipynb ├── Data Cleaning.ipynb ├── README.md └── dados_limpos_ceaps.csv /2016.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paulozip/live_coding_udacity_ceaps/3290291e7e4ff33da20cf659e1856bc6e8aad09c/2016.csv -------------------------------------------------------------------------------- /Data Cleaning.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "

Live Coding Udacity

\n", 8 | "

Explorando dados do CEAPS

\n", 9 | "\n", 10 | "Notebook utilizado durante o Live Coding para os alunos do Udacity." 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 23, 16 | "metadata": { 17 | "collapsed": true 18 | }, 19 | "outputs": [], 20 | "source": [ 21 | "#Leitura do dataset\n", 22 | "import pandas as pd" 23 | ] 24 | }, 25 | { 26 | "cell_type": "code", 27 | "execution_count": 24, 28 | "metadata": {}, 29 | "outputs": [ 30 | { 31 | "data": { 32 | "text/plain": [ 33 | "'0.20.1'" 34 | ] 35 | }, 36 | "execution_count": 24, 37 | "metadata": {}, 38 | "output_type": "execute_result" 39 | } 40 | ], 41 | "source": [ 42 | "#Versão do pandas utilizada\n", 43 | "pd.__version__" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": 25, 49 | "metadata": {}, 50 | "outputs": [], 51 | "source": [ 52 | "#Leitura do dataset\n", 53 | "df = pd.read_csv('2016.csv', encoding='latin1', delimiter=';')" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": 26, 59 | "metadata": {}, 60 | "outputs": [ 61 | { 62 | "data": { 63 | "text/html": [ 64 | "
\n", 65 | "\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 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | "
ANOMESSENADORTIPO_DESPESACNPJ_CPFFORNECEDORDOCUMENTODATADETALHAMENTOVALOR_REEMBOLSADO
020161SENADOR 1Aluguel de imóveis para escritório político, c...05.914.650/0001-66ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA00001132813/01/2016Despesa com pagamento de energia elétrica para...73,6
120161SENADOR 1Aluguel de imóveis para escritório político, c...05.914.650/0001-66ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA00001132718/01/2016Pagamento de energia elétrica para o escritóri...206,84
220161SENADOR 1Aluguel de imóveis para escritório político, c...004.948.028-63GILBERTO PISELO DO NASCIMENTO001/1604/01/2016Despesa com pagamento de aluguel, utilizado pa...6000
320161SENADOR 1Aluguel de imóveis para escritório político, c...05.423.963/0001-11OI MÓVEL S.A.66163900116/01/2016despesa com pagamento de telefonia para o escr...407,48
420161SENADOR 1Aquisição de material de consumo para uso no e...62.652.961/0001-38AGÊNCIA ESTADO S.A.0060891806/01/2016Aquisição de publicação virtual de conteúdo jo...550
\n", 162 | "
" 163 | ], 164 | "text/plain": [ 165 | " ANO MES SENADOR TIPO_DESPESA \\\n", 166 | "0 2016 1 SENADOR 1 Aluguel de imóveis para escritório político, c... \n", 167 | "1 2016 1 SENADOR 1 Aluguel de imóveis para escritório político, c... \n", 168 | "2 2016 1 SENADOR 1 Aluguel de imóveis para escritório político, c... \n", 169 | "3 2016 1 SENADOR 1 Aluguel de imóveis para escritório político, c... \n", 170 | "4 2016 1 SENADOR 1 Aquisição de material de consumo para uso no e... \n", 171 | "\n", 172 | " CNPJ_CPF FORNECEDOR DOCUMENTO \\\n", 173 | "0 05.914.650/0001-66 ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA 000011328 \n", 174 | "1 05.914.650/0001-66 ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA 000011327 \n", 175 | "2 004.948.028-63 GILBERTO PISELO DO NASCIMENTO 001/16 \n", 176 | "3 05.423.963/0001-11 OI MÓVEL S.A. 661639001 \n", 177 | "4 62.652.961/0001-38 AGÊNCIA ESTADO S.A. 00608918 \n", 178 | "\n", 179 | " DATA DETALHAMENTO \\\n", 180 | "0 13/01/2016 Despesa com pagamento de energia elétrica para... \n", 181 | "1 18/01/2016 Pagamento de energia elétrica para o escritóri... \n", 182 | "2 04/01/2016 Despesa com pagamento de aluguel, utilizado pa... \n", 183 | "3 16/01/2016 despesa com pagamento de telefonia para o escr... \n", 184 | "4 06/01/2016 Aquisição de publicação virtual de conteúdo jo... \n", 185 | "\n", 186 | " VALOR_REEMBOLSADO \n", 187 | "0 73,6 \n", 188 | "1 206,84 \n", 189 | "2 6000 \n", 190 | "3 407,48 \n", 191 | "4 550 " 192 | ] 193 | }, 194 | "execution_count": 26, 195 | "metadata": {}, 196 | "output_type": "execute_result" 197 | } 198 | ], 199 | "source": [ 200 | "#Cinco primeiras linhas do DataFrame\n", 201 | "df.head()" 202 | ] 203 | }, 204 | { 205 | "cell_type": "code", 206 | "execution_count": 27, 207 | "metadata": {}, 208 | "outputs": [ 209 | { 210 | "data": { 211 | "text/html": [ 212 | "
\n", 213 | "\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 | "
ANOMES
count26691.026691.000000
mean2016.06.470908
std0.03.257134
min2016.01.000000
25%2016.04.000000
50%2016.06.000000
75%2016.09.000000
max2016.012.000000
\n", 277 | "
" 278 | ], 279 | "text/plain": [ 280 | " ANO MES\n", 281 | "count 26691.0 26691.000000\n", 282 | "mean 2016.0 6.470908\n", 283 | "std 0.0 3.257134\n", 284 | "min 2016.0 1.000000\n", 285 | "25% 2016.0 4.000000\n", 286 | "50% 2016.0 6.000000\n", 287 | "75% 2016.0 9.000000\n", 288 | "max 2016.0 12.000000" 289 | ] 290 | }, 291 | "execution_count": 27, 292 | "metadata": {}, 293 | "output_type": "execute_result" 294 | } 295 | ], 296 | "source": [ 297 | "#Verificando alguns dados estatísticos básicos\n", 298 | "df.describe()" 299 | ] 300 | }, 301 | { 302 | "cell_type": "code", 303 | "execution_count": 28, 304 | "metadata": {}, 305 | "outputs": [ 306 | { 307 | "data": { 308 | "text/plain": [ 309 | "(26691, 10)" 310 | ] 311 | }, 312 | "execution_count": 28, 313 | "metadata": {}, 314 | "output_type": "execute_result" 315 | } 316 | ], 317 | "source": [ 318 | "#Visualizando tamanho do dataset\n", 319 | "df.shape" 320 | ] 321 | }, 322 | { 323 | "cell_type": "code", 324 | "execution_count": 29, 325 | "metadata": {}, 326 | "outputs": [ 327 | { 328 | "data": { 329 | "text/plain": [ 330 | "ANO int64\n", 331 | "MES int64\n", 332 | "SENADOR object\n", 333 | "TIPO_DESPESA object\n", 334 | "CNPJ_CPF object\n", 335 | "FORNECEDOR object\n", 336 | "DOCUMENTO object\n", 337 | "DATA object\n", 338 | "DETALHAMENTO object\n", 339 | "VALOR_REEMBOLSADO object\n", 340 | "dtype: object" 341 | ] 342 | }, 343 | "execution_count": 29, 344 | "metadata": {}, 345 | "output_type": "execute_result" 346 | } 347 | ], 348 | "source": [ 349 | "#Como o pandas está tratando cada coluna do dataset\n", 350 | "df.dtypes" 351 | ] 352 | }, 353 | { 354 | "cell_type": "code", 355 | "execution_count": 30, 356 | "metadata": {}, 357 | "outputs": [], 358 | "source": [ 359 | "#Alterando virgulas por pontos e transformando coluna em inteiro\n", 360 | "df['VALOR_REEMBOLSADO'] = df['VALOR_REEMBOLSADO'].str.replace(',', '.')\n", 361 | "df['VALOR_REEMBOLSADO'] = pd.to_numeric(df['VALOR_REEMBOLSADO'])" 362 | ] 363 | }, 364 | { 365 | "cell_type": "code", 366 | "execution_count": 31, 367 | "metadata": {}, 368 | "outputs": [ 369 | { 370 | "data": { 371 | "text/html": [ 372 | "
\n", 373 | "\n", 386 | "\n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | "
ANOMESSENADORTIPO_DESPESACNPJ_CPFFORNECEDORDOCUMENTODATADETALHAMENTOVALOR_REEMBOLSADO
2194201610SENADOR 9Aluguel de imóveis para escritório político, c...41.054.867/0001-07Jadan Office Center110161002120/07/5017Taxa de condomínio do escritório parlamentar, ...811.89
\n", 418 | "
" 419 | ], 420 | "text/plain": [ 421 | " ANO MES SENADOR TIPO_DESPESA \\\n", 422 | "2194 2016 10 SENADOR 9 Aluguel de imóveis para escritório político, c... \n", 423 | "\n", 424 | " CNPJ_CPF FORNECEDOR DOCUMENTO DATA \\\n", 425 | "2194 41.054.867/0001-07 Jadan Office Center 1101610021 20/07/5017 \n", 426 | "\n", 427 | " DETALHAMENTO VALOR_REEMBOLSADO \n", 428 | "2194 Taxa de condomínio do escritório parlamentar, ... 811.89 " 429 | ] 430 | }, 431 | "execution_count": 31, 432 | "metadata": {}, 433 | "output_type": "execute_result" 434 | } 435 | ], 436 | "source": [ 437 | "#Selecionando linhas de um dataset com base em uma condição\n", 438 | "df[df['DATA'] == '20/07/5017']" 439 | ] 440 | }, 441 | { 442 | "cell_type": "code", 443 | "execution_count": 32, 444 | "metadata": {}, 445 | "outputs": [], 446 | "source": [ 447 | "#Selecionando linhas em que haja 5017 nos ultimos quatro caracteres e colocando um novo valor\n", 448 | "df.loc[df['DATA'].str[-4:] == '5017','DATA'] = '20/07/2017'" 449 | ] 450 | }, 451 | { 452 | "cell_type": "code", 453 | "execution_count": 33, 454 | "metadata": {}, 455 | "outputs": [], 456 | "source": [ 457 | "#Alterando datas estão com 2106 para 2016\n", 458 | "df.loc[df['DATA'].str[-4:] == '2106','DATA'] = '2016'" 459 | ] 460 | }, 461 | { 462 | "cell_type": "code", 463 | "execution_count": 34, 464 | "metadata": { 465 | "collapsed": true 466 | }, 467 | "outputs": [], 468 | "source": [ 469 | "#Alterando datas estão com 0216 para 2016\n", 470 | "df.loc[df['DATA'].str[-4:] == '0216','DATA'] = '2016'" 471 | ] 472 | }, 473 | { 474 | "cell_type": "code", 475 | "execution_count": 35, 476 | "metadata": { 477 | "collapsed": true 478 | }, 479 | "outputs": [], 480 | "source": [ 481 | "#Alterando datas estão com 3016 para 2016\n", 482 | "df.loc[df['DATA'].str[-4:] == '3016','DATA'] = '2016'" 483 | ] 484 | }, 485 | { 486 | "cell_type": "code", 487 | "execution_count": 36, 488 | "metadata": { 489 | "scrolled": true 490 | }, 491 | "outputs": [ 492 | { 493 | "data": { 494 | "text/html": [ 495 | "
\n", 496 | "\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 | " \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 | " \n", 610 | " \n", 611 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \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 | "
ANOMESSENADORTIPO_DESPESACNPJ_CPFFORNECEDORDOCUMENTODATADETALHAMENTOVALOR_REEMBOLSADO
72220168SENADOR 3Passagens aéreas, aquáticas e terrestres nacio...58.645.359/0001-04ALTERNATUR AGÊNCIA DE VIAGEM E TURISMO LTDAZE6S2F09/08/2101Companhia Aérea: GOL, Localizador: ZE6S2F. Pas...1063.72
217520169SENADOR 9Locomoção, hospedagem, alimentação, combustíve...02.783.295/0001-45Salgueiro Plaza Hotel LTDA1813616/09/2019Hospedagem do Senador Armando Monteiro Neto, M...180.00
817720169SENADOR 34Locomoção, hospedagem, alimentação, combustíve...07.639.184/0001-83Hotel e Restaurente Açai0239228/09/2019NaN495.00
1258620167SENADOR 46Locomoção, hospedagem, alimentação, combustíve...09.215.572/0001-62GELA PUB00000390018/07/2019DESPESA COM ALIMENTAÇÃO DO SENADOR383.34
1279220169SENADOR 46Passagens aéreas, aquáticas e terrestres nacio...16.978.175/0001-08ADRIA VIAGENS3LNNPN01/09/2019Companhia Aérea: AVIANCA, Localizador: 3LNNPN....814.27
1370120169SENADOR 49Locomoção, hospedagem, alimentação, combustíve...06.154.675/0001-71M. A. ALVES COMÉRCIO00314023/09/2013DESPESAS COM HOSPEDAGEM PARA A SENADORA675.00
13719201610SENADOR 49Locomoção, hospedagem, alimentação, combustíve...56.548.779/0001-39Transamérica Comercial e Serviços Ltda SCP La ...0003860031/10/0200Hospedagem (R$ 648,44) e alimentação (R$ 40,00...688.44
17928201610SENADOR 62Locomoção, hospedagem, alimentação, combustíve...37.063.328/0030-00Auto Shopping Derivados de Petroleo Ltda62194210/10/1977Aquisição de combustível para veículos utiliza...152.51
17960201610SENADOR 62Passagens aéreas, aquáticas e terrestres nacio...33.937.681/0001-78LATAM5HJBB431/10/0206Companhia Aérea: LATAM, Localizador: 5HJBB4. P...1860.79
1943420161SENADOR 68Locomoção, hospedagem, alimentação, combustíve...12.051.033/0001-40Francisco Ferreira de Castro MEE1205304/09/2018Hospedagem de servidor lotado no escritório pa...100.00
2014720163SENADOR 71Passagens aéreas, aquáticas e terrestres nacio...16.978.175/0001-08ADRIA VIAGENS E TURISMO LTDA.3XMRSO30/06/2018Companhia Aérea: AVIANCA, Localizador: 3XMRSO....382.03
2067420163SENADOR 73Locomoção, hospedagem, alimentação, combustíve...02.056.402/0001-33AUTO POSTO MOCELIN LTDA7249919/03/1986COMBUSTÍVEL PARA AUTOMÓVEL EM ATIVIDADE PARLAM...139.16
21758201611SENADOR 76Contratação de consultorias, assessorias, pesq...62.652.961/0001-38AGENCIA ESTADO S.A063262003/11/2019referente a serviço de licença de conteúdo jor...2805.50
2455120164SENADOR 88Passagens aéreas, aquáticas e terrestres nacio...11.285.702/0001-85JB TURISMO LTDA (TIME TOUR)3K7DJ201/04/2014Companhia Aérea: AVIANCA, Localizador: 3K7DJ2....374.83
2455220164SENADOR 88Passagens aéreas, aquáticas e terrestres nacio...11.285.702/0001-85JB TURISMO LTDA (TIME TOUR)3KUSZ729/04/2014Companhia Aérea: AVIANCA, Localizador: 3KUSZ7....374.83
2496520165SENADOR 89Aluguel de imóveis para escritório político, c...13.927.801/0001-49PREFEITURA DE SALVADOR (IPTU)567.013-6/05/201602/05/2012PAGAMENTO DE IPTU DO ESCRITÓRIO POLÍTICO DO SE...162.40
26547201610SENADOR 93Locomoção, hospedagem, alimentação, combustíve...16.955.896/0005-26Baru Restaurante Ltda492625/10/2014NaN596.09
\n", 749 | "
" 750 | ], 751 | "text/plain": [ 752 | " ANO MES SENADOR \\\n", 753 | "722 2016 8 SENADOR 3 \n", 754 | "2175 2016 9 SENADOR 9 \n", 755 | "8177 2016 9 SENADOR 34 \n", 756 | "12586 2016 7 SENADOR 46 \n", 757 | "12792 2016 9 SENADOR 46 \n", 758 | "13701 2016 9 SENADOR 49 \n", 759 | "13719 2016 10 SENADOR 49 \n", 760 | "17928 2016 10 SENADOR 62 \n", 761 | "17960 2016 10 SENADOR 62 \n", 762 | "19434 2016 1 SENADOR 68 \n", 763 | "20147 2016 3 SENADOR 71 \n", 764 | "20674 2016 3 SENADOR 73 \n", 765 | "21758 2016 11 SENADOR 76 \n", 766 | "24551 2016 4 SENADOR 88 \n", 767 | "24552 2016 4 SENADOR 88 \n", 768 | "24965 2016 5 SENADOR 89 \n", 769 | "26547 2016 10 SENADOR 93 \n", 770 | "\n", 771 | " TIPO_DESPESA CNPJ_CPF \\\n", 772 | "722 Passagens aéreas, aquáticas e terrestres nacio... 58.645.359/0001-04 \n", 773 | "2175 Locomoção, hospedagem, alimentação, combustíve... 02.783.295/0001-45 \n", 774 | "8177 Locomoção, hospedagem, alimentação, combustíve... 07.639.184/0001-83 \n", 775 | "12586 Locomoção, hospedagem, alimentação, combustíve... 09.215.572/0001-62 \n", 776 | "12792 Passagens aéreas, aquáticas e terrestres nacio... 16.978.175/0001-08 \n", 777 | "13701 Locomoção, hospedagem, alimentação, combustíve... 06.154.675/0001-71 \n", 778 | "13719 Locomoção, hospedagem, alimentação, combustíve... 56.548.779/0001-39 \n", 779 | "17928 Locomoção, hospedagem, alimentação, combustíve... 37.063.328/0030-00 \n", 780 | "17960 Passagens aéreas, aquáticas e terrestres nacio... 33.937.681/0001-78 \n", 781 | "19434 Locomoção, hospedagem, alimentação, combustíve... 12.051.033/0001-40 \n", 782 | "20147 Passagens aéreas, aquáticas e terrestres nacio... 16.978.175/0001-08 \n", 783 | "20674 Locomoção, hospedagem, alimentação, combustíve... 02.056.402/0001-33 \n", 784 | "21758 Contratação de consultorias, assessorias, pesq... 62.652.961/0001-38 \n", 785 | "24551 Passagens aéreas, aquáticas e terrestres nacio... 11.285.702/0001-85 \n", 786 | "24552 Passagens aéreas, aquáticas e terrestres nacio... 11.285.702/0001-85 \n", 787 | "24965 Aluguel de imóveis para escritório político, c... 13.927.801/0001-49 \n", 788 | "26547 Locomoção, hospedagem, alimentação, combustíve... 16.955.896/0005-26 \n", 789 | "\n", 790 | " FORNECEDOR DOCUMENTO \\\n", 791 | "722 ALTERNATUR AGÊNCIA DE VIAGEM E TURISMO LTDA ZE6S2F \n", 792 | "2175 Salgueiro Plaza Hotel LTDA 18136 \n", 793 | "8177 Hotel e Restaurente Açai 02392 \n", 794 | "12586 GELA PUB 000003900 \n", 795 | "12792 ADRIA VIAGENS 3LNNPN \n", 796 | "13701 M. A. ALVES COMÉRCIO 003140 \n", 797 | "13719 Transamérica Comercial e Serviços Ltda SCP La ... 00038600 \n", 798 | "17928 Auto Shopping Derivados de Petroleo Ltda 621942 \n", 799 | "17960 LATAM 5HJBB4 \n", 800 | "19434 Francisco Ferreira de Castro MEE 12053 \n", 801 | "20147 ADRIA VIAGENS E TURISMO LTDA. 3XMRSO \n", 802 | "20674 AUTO POSTO MOCELIN LTDA 72499 \n", 803 | "21758 AGENCIA ESTADO S.A 0632620 \n", 804 | "24551 JB TURISMO LTDA (TIME TOUR) 3K7DJ2 \n", 805 | "24552 JB TURISMO LTDA (TIME TOUR) 3KUSZ7 \n", 806 | "24965 PREFEITURA DE SALVADOR (IPTU) 567.013-6/05/2016 \n", 807 | "26547 Baru Restaurante Ltda 4926 \n", 808 | "\n", 809 | " DATA DETALHAMENTO \\\n", 810 | "722 09/08/2101 Companhia Aérea: GOL, Localizador: ZE6S2F. Pas... \n", 811 | "2175 16/09/2019 Hospedagem do Senador Armando Monteiro Neto, M... \n", 812 | "8177 28/09/2019 NaN \n", 813 | "12586 18/07/2019 DESPESA COM ALIMENTAÇÃO DO SENADOR \n", 814 | "12792 01/09/2019 Companhia Aérea: AVIANCA, Localizador: 3LNNPN.... \n", 815 | "13701 23/09/2013 DESPESAS COM HOSPEDAGEM PARA A SENADORA \n", 816 | "13719 31/10/0200 Hospedagem (R$ 648,44) e alimentação (R$ 40,00... \n", 817 | "17928 10/10/1977 Aquisição de combustível para veículos utiliza... \n", 818 | "17960 31/10/0206 Companhia Aérea: LATAM, Localizador: 5HJBB4. P... \n", 819 | "19434 04/09/2018 Hospedagem de servidor lotado no escritório pa... \n", 820 | "20147 30/06/2018 Companhia Aérea: AVIANCA, Localizador: 3XMRSO.... \n", 821 | "20674 19/03/1986 COMBUSTÍVEL PARA AUTOMÓVEL EM ATIVIDADE PARLAM... \n", 822 | "21758 03/11/2019 referente a serviço de licença de conteúdo jor... \n", 823 | "24551 01/04/2014 Companhia Aérea: AVIANCA, Localizador: 3K7DJ2.... \n", 824 | "24552 29/04/2014 Companhia Aérea: AVIANCA, Localizador: 3KUSZ7.... \n", 825 | "24965 02/05/2012 PAGAMENTO DE IPTU DO ESCRITÓRIO POLÍTICO DO SE... \n", 826 | "26547 25/10/2014 NaN \n", 827 | "\n", 828 | " VALOR_REEMBOLSADO \n", 829 | "722 1063.72 \n", 830 | "2175 180.00 \n", 831 | "8177 495.00 \n", 832 | "12586 383.34 \n", 833 | "12792 814.27 \n", 834 | "13701 675.00 \n", 835 | "13719 688.44 \n", 836 | "17928 152.51 \n", 837 | "17960 1860.79 \n", 838 | "19434 100.00 \n", 839 | "20147 382.03 \n", 840 | "20674 139.16 \n", 841 | "21758 2805.50 \n", 842 | "24551 374.83 \n", 843 | "24552 374.83 \n", 844 | "24965 162.40 \n", 845 | "26547 596.09 " 846 | ] 847 | }, 848 | "execution_count": 36, 849 | "metadata": {}, 850 | "output_type": "execute_result" 851 | } 852 | ], 853 | "source": [ 854 | "#Selecionando dados inválidos com base em multiplas condições\n", 855 | "df.loc[(df['DATA'].str[-4:] != '2016') & (df['DATA'].str[-4:] != '2017') & (df['DATA'].str[-4:] != '2015')]" 856 | ] 857 | }, 858 | { 859 | "cell_type": "code", 860 | "execution_count": 37, 861 | "metadata": {}, 862 | "outputs": [], 863 | "source": [ 864 | "#Transformando a coluna de data em datetime, considerando datas invalidas como nulas\n", 865 | "df['DATA'] = pd.to_datetime(df['DATA'], errors='coerce')" 866 | ] 867 | }, 868 | { 869 | "cell_type": "code", 870 | "execution_count": 38, 871 | "metadata": {}, 872 | "outputs": [ 873 | { 874 | "data": { 875 | "text/plain": [ 876 | "array([ 'Aluguel de imóveis para escritório político, compreendendo despesas concernentes a eles.',\n", 877 | " '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. ',\n", 878 | " 'Contratação de consultorias, assessorias, pesquisas, trabalhos técnicos e outros serviços de apoio ao exercício do mandato parlamentar',\n", 879 | " 'Locomoção, hospedagem, alimentação, combustíveis e lubrificantes',\n", 880 | " 'Passagens aéreas, aquáticas e terrestres nacionais',\n", 881 | " 'Divulgação da atividade parlamentar',\n", 882 | " 'Serviços de Segurança Privada'], dtype=object)" 883 | ] 884 | }, 885 | "execution_count": 38, 886 | "metadata": {}, 887 | "output_type": "execute_result" 888 | } 889 | ], 890 | "source": [ 891 | "#Selecionando valores unicos da coluna Tipo de Despesa\n", 892 | "df['TIPO_DESPESA'].unique()" 893 | ] 894 | }, 895 | { 896 | "cell_type": "code", 897 | "execution_count": 39, 898 | "metadata": { 899 | "collapsed": true 900 | }, 901 | "outputs": [], 902 | "source": [ 903 | "#Mapeando novos valores para a coluna Tipos de Despesa\n", 904 | "df['TIPO_DESPESA'] = df['TIPO_DESPESA'].map({'Aluguel de imóveis para escritório político, compreendendo despesas concernentes a eles.': 'Aluguel',\n", 905 | " '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. ': 'Despesas gerais',\n", 906 | " 'Contratação de consultorias, assessorias, pesquisas, trabalhos técnicos e outros serviços de apoio ao exercício do mandato parlamentar': 'Contratações',\n", 907 | " 'Locomoção, hospedagem, alimentação, combustíveis e lubrificantes': 'Locomoção, hospedagem e alimentação',\n", 908 | " 'Passagens aéreas, aquáticas e terrestres nacionais': 'Passagens',\n", 909 | " 'Divulgação da atividade parlamentar': 'Divulgação',\n", 910 | " 'Serviços de Segurança Privada': 'Segurança'})" 911 | ] 912 | }, 913 | { 914 | "cell_type": "code", 915 | "execution_count": 40, 916 | "metadata": {}, 917 | "outputs": [ 918 | { 919 | "data": { 920 | "text/html": [ 921 | "
\n", 922 | "\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 | "
ANOMESSENADORTIPO_DESPESACNPJ_CPFFORNECEDORDOCUMENTODATADETALHAMENTOVALOR_REEMBOLSADO
020161SENADOR 1Aluguel05.914.650/0001-66ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA0000113282016-01-13Despesa com pagamento de energia elétrica para...73.60
120161SENADOR 1Aluguel05.914.650/0001-66ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA0000113272016-01-18Pagamento de energia elétrica para o escritóri...206.84
220161SENADOR 1Aluguel004.948.028-63GILBERTO PISELO DO NASCIMENTO001/162016-04-01Despesa com pagamento de aluguel, utilizado pa...6000.00
320161SENADOR 1Aluguel05.423.963/0001-11OI MÓVEL S.A.6616390012016-01-16despesa com pagamento de telefonia para o escr...407.48
420161SENADOR 1Despesas gerais62.652.961/0001-38AGÊNCIA ESTADO S.A.006089182016-06-01Aquisição de publicação virtual de conteúdo jo...550.00
\n", 1019 | "
" 1020 | ], 1021 | "text/plain": [ 1022 | " ANO MES SENADOR TIPO_DESPESA CNPJ_CPF \\\n", 1023 | "0 2016 1 SENADOR 1 Aluguel 05.914.650/0001-66 \n", 1024 | "1 2016 1 SENADOR 1 Aluguel 05.914.650/0001-66 \n", 1025 | "2 2016 1 SENADOR 1 Aluguel 004.948.028-63 \n", 1026 | "3 2016 1 SENADOR 1 Aluguel 05.423.963/0001-11 \n", 1027 | "4 2016 1 SENADOR 1 Despesas gerais 62.652.961/0001-38 \n", 1028 | "\n", 1029 | " FORNECEDOR DOCUMENTO DATA \\\n", 1030 | "0 ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA 000011328 2016-01-13 \n", 1031 | "1 ELETROBRÁS DISTRIBUIÇÃO RONDÔNIA 000011327 2016-01-18 \n", 1032 | "2 GILBERTO PISELO DO NASCIMENTO 001/16 2016-04-01 \n", 1033 | "3 OI MÓVEL S.A. 661639001 2016-01-16 \n", 1034 | "4 AGÊNCIA ESTADO S.A. 00608918 2016-06-01 \n", 1035 | "\n", 1036 | " DETALHAMENTO VALOR_REEMBOLSADO \n", 1037 | "0 Despesa com pagamento de energia elétrica para... 73.60 \n", 1038 | "1 Pagamento de energia elétrica para o escritóri... 206.84 \n", 1039 | "2 Despesa com pagamento de aluguel, utilizado pa... 6000.00 \n", 1040 | "3 despesa com pagamento de telefonia para o escr... 407.48 \n", 1041 | "4 Aquisição de publicação virtual de conteúdo jo... 550.00 " 1042 | ] 1043 | }, 1044 | "execution_count": 40, 1045 | "metadata": {}, 1046 | "output_type": "execute_result" 1047 | } 1048 | ], 1049 | "source": [ 1050 | "#DataFrame após a limpeza\n", 1051 | "df.head()" 1052 | ] 1053 | }, 1054 | { 1055 | "cell_type": "code", 1056 | "execution_count": 41, 1057 | "metadata": { 1058 | "collapsed": true 1059 | }, 1060 | "outputs": [], 1061 | "source": [ 1062 | "#Criando novo dataset com os dados limpos\n", 1063 | "df.to_csv('dados_limpos_ceaps.csv', index=False)" 1064 | ] 1065 | } 1066 | ], 1067 | "metadata": { 1068 | "kernelspec": { 1069 | "display_name": "Python 3", 1070 | "language": "python", 1071 | "name": "python3" 1072 | }, 1073 | "language_info": { 1074 | "codemirror_mode": { 1075 | "name": "ipython", 1076 | "version": 3 1077 | }, 1078 | "file_extension": ".py", 1079 | "mimetype": "text/x-python", 1080 | "name": "python", 1081 | "nbconvert_exporter": "python", 1082 | "pygments_lexer": "ipython3", 1083 | "version": "3.6.1" 1084 | } 1085 | }, 1086 | "nbformat": 4, 1087 | "nbformat_minor": 2 1088 | } 1089 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Live Coding do Udacity 2 | Arquivos utilizados no Live Coding proporcionado pelo Udacity onde tratamos os dados do CEAPS (Cota para Exercício da Atividade Parlamentar) 3 | 4 | # Dependencies 5 | 6 | - Python 3 7 | - Pandas 0.20.1 8 | -------------------------------------------------------------------------------- /dados_limpos_ceaps.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paulozip/live_coding_udacity_ceaps/3290291e7e4ff33da20cf659e1856bc6e8aad09c/dados_limpos_ceaps.csv --------------------------------------------------------------------------------