A doação de partidos para seus cadidatos

Baixamos a prestação de contas dos candidatos em 2016 e seguimos com a seguinte pergunta: quanto os partidos políticos doaram para seus candidatos? É possível identificar uma diferença entre os valores doados para homens e para mulheres? Quais são os partidos que mais se destacam e porquê? Quais foram os candidados que mais se destacaram e o porquê? Essas são algumas das perguntas que a nossa análise procurou responder.

Sexo invisível

A base de prestação de contas dos candidatos não possui a coluna "Sexo". Ou seja, apenas com essa base não é possível fazer as análises. Contudo, a base possui o nome e o número sequencial dos candidatos, algo que usaremos para importar os dados de sexo da base de candidaturas.

Python: Pandas

Escolhemos o Pandas para fazer essa análise. Trata-se de um dos melhores módulos Python para análise de dados. O Pandas permite manipular os arquivos do Tribunal Superior Eleitoral com facilidade. Como são muitos arquivos e muito grandes, não é possível abri-los em ferramentas mais convencionais, como o Libre Office Calc.

Vamos começar, então, importando o Pandas para o nosso script. Se você não tem o Pandas instalado, basta digitar "pip install Pandas" no seu terminal.


In [1]:
# -*- coding: utf-8
import pandas as pd

Agora vamos usar a função "read_csv" do Pandas para abrir o arquivo "receitas_candidatos_2016_brasil.txt". Esse arquivo possui o consolidado da prestação de contas de todos os candidatos nas eleições de 2016. É um arquivo de quase 1Gb. Temos alguns parâmetros:

  • delimiter: ";" (os arquivos brasileiros possuem o delimitador ";" em vez da ",")
  • decimal: "," (preciamos informar que no formato numérico brasileiro a casa decimal é separada por vírgula)
  • encoding: "latin1" (o padrão brasileiro de encoding de caracteres usado pelo governo equivale ao "latin1" em Python)
  • low_memory=False (o Pandas tenta adivinhar qual é o tipo de dado em cada coluna para economizar memória - número, texto etc - como uma das colunas possui mais de um tipo de dado, precisamos dizer ao Pandas que ele vai precisar usar mais memória)

In [2]:
base = pd.read_csv(
    'data/receitas_candidatos_2016_brasil.txt', 
    delimiter=";", 
    decimal=",", 
    encoding="latin1", 
    low_memory=False)

Guardamos o arquivo na variável base e agora vamos exibir as 30 primeiras e 30 últimas linhas.


In [3]:
base


Out[3]:
Cód. Eleição Desc. Eleição Data e hora CNPJ Prestador Conta Sequencial Candidato UF Sigla da UE Nome da UE Sigla Partido Numero candidato ... Valor receita Tipo receita Fonte recurso Especie recurso Descricao da receita CPF/CNPJ do doador originário Nome do doador originário Tipo doador originário Setor econômico do doador originário Nome do doador originário (Receita Federal)
0 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 500.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 500.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
2 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 500.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
3 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 500.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
4 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
5 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
6 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 5000.0 Recursos de pessoas físicas Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
7 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
8 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
9 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 2000.0 Recursos de pessoas físicas Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
10 220 Eleições Municipais 2016 24/10/201621:30:15 25552898000131 160000007179 PR 75353 CURITIBA PDT 12000 ... 500.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
11 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 5000.0 Recursos próprios Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
12 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 2000.0 Recursos próprios Outros Recursos Estimado DOACAO ESTIMAVEL COMITÊ - RUA PROFESSORA CÉLIA... #NULO #NULO #NULO #NULO #NULO
13 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 2800.0 Recursos próprios Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
14 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 3000.0 Recursos de partido político Fundo Partidario Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
15 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 10000.0 Recursos de partido político Fundo Partidario Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
16 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 540.0 Recursos de pessoas físicas Outros Recursos Estimado BANDEIRA PARA CAMPANHA #NULO #NULO #NULO #NULO #NULO
17 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 1000.0 Recursos de pessoas físicas Outros Recursos Estimado SERVIÇOS ADMINISTRATIVOS #NULO #NULO #NULO #NULO #NULO
18 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 1000.0 Recursos de pessoas físicas Outros Recursos Estimado SERVIÇOS ADMINISTRATIVOS #NULO #NULO #NULO #NULO #NULO
19 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 200.0 Recursos de pessoas físicas Outros Recursos Estimado GRAVAÇÃO DE AUDIOS PARA RADIOS #NULO #NULO #NULO #NULO #NULO
20 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 100.0 Recursos de pessoas físicas Outros Recursos Estimado GRAVAÇÃO DE AUDIO PARA DIVULGACAO EM CARRO DE ... #NULO #NULO #NULO #NULO #NULO
21 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 300.0 Recursos de pessoas físicas Outros Recursos Estimado PRODUÇÃO DE JINGLES #NULO #NULO #NULO #NULO #NULO
22 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 800.0 Recursos de pessoas físicas Outros Recursos Estimado PUBLICIDADE POR CARRO DE SOM #NULO #NULO #NULO #NULO #NULO
23 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 1000.0 Recursos próprios Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
24 220 Eleições Municipais 2016 24/10/201621:30:15 25490411000133 250000029177 SP 62391 BOITUVA PMDB 15 ... 500.0 Recursos próprios Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
25 220 Eleições Municipais 2016 24/10/201621:30:15 25746582000180 250000072494 SP 62278 BILAC PSDB 45111 ... 300.0 Recursos próprios Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
26 220 Eleições Municipais 2016 24/10/201621:30:15 25746582000180 250000072494 SP 62278 BILAC PSDB 45111 ... 1000.0 Recursos próprios Outros Recursos Estimado PAS/AUTOMOVEL GM/CORSA WIND 2000/2000 - BRANCA... #NULO #NULO #NULO #NULO #NULO
27 220 Eleições Municipais 2016 24/10/201621:30:15 25746582000180 250000072494 SP 62278 BILAC PSDB 45111 ... 30.0 Recursos de pessoas físicas Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
28 220 Eleições Municipais 2016 24/10/201621:30:15 25746582000180 250000072494 SP 62278 BILAC PSDB 45111 ... 215.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
29 220 Eleições Municipais 2016 24/10/201621:30:15 25746582000180 250000072494 SP 62278 BILAC PSDB 45111 ... 90.0 Recursos de outros candidatos Outros Recursos Estimado 5000 SANTINHOS 7X0 CM - PREFEITO / VICE VEREAD... #NULO #NULO #NULO #NULO #NULO
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
1867360 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867361 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867362 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867363 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 3000.0 Recursos de pessoas físicas Outros Recursos Estimado CESSÃO DE SERVIÇOS JURIDICOS PERÍODO 16/08/201... #NULO #NULO #NULO #NULO #NULO
1867364 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867365 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867366 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867367 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867368 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867369 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867370 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867371 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1000.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867372 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 1500.0 Recursos de pessoas físicas Outros Recursos Estimado CESSÃO DE CARRO DE SOM PERÍODO 16/08/2016 À 01... #NULO #NULO #NULO #NULO #NULO
1867373 220 Eleições Municipais 2016 24/10/201621:30:15 25379727000152 210000004025 RS 85898 CANOAS PT 13777 ... 10000.0 Recursos de pessoas físicas Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
1867374 220 Eleições Municipais 2016 24/10/201621:30:15 26064156000120 260000006834 SE 31070 ARAUÁ PROS 90123 ... 450.0 Recursos próprios Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867375 220 Eleições Municipais 2016 24/10/201621:30:15 26064156000120 260000006834 SE 31070 ARAUÁ PROS 90123 ... 200.0 Recursos de pessoas físicas Outros Recursos Estimado PRESTAÇÃO SERVIÇOS GRATUITA DE TÉCNICOS DE ASS... #NULO #NULO #NULO #NULO #NULO
1867376 220 Eleições Municipais 2016 24/10/201621:30:15 25359813000101 130000003834 MG 42323 JOSÉ RAYDAN PV 43666 ... 4950.0 Recursos próprios Outros Recursos Transferência eletrônica #NULO #NULO #NULO #NULO #NULO #NULO
1867377 220 Eleições Municipais 2016 24/10/201621:30:15 25359813000101 130000003834 MG 42323 JOSÉ RAYDAN PV 43666 ... 1000.0 Recursos próprios Outros Recursos Estimado 005/2016 CONTRATO DE CESSÃO GRATUITA DE VEÍCUL... #NULO #NULO #NULO #NULO #NULO
1867378 220 Eleições Municipais 2016 24/10/201621:30:15 25359813000101 130000003834 MG 42323 JOSÉ RAYDAN PV 43666 ... 100.0 Recursos de pessoas físicas Outros Recursos Estimado 003/2016 CONTRATO DE PRESTAÇÃO GRATUITA DE SER... #NULO #NULO #NULO #NULO #NULO
1867379 220 Eleições Municipais 2016 24/10/201621:30:15 25359813000101 130000003834 MG 42323 JOSÉ RAYDAN PV 43666 ... 100.0 Recursos de pessoas físicas Outros Recursos Estimado 002/2016 CONTRATO DE PRESTAÇÃO GRATUITA DE SER... #NULO #NULO #NULO #NULO #NULO
1867380 220 Eleições Municipais 2016 24/10/201621:30:15 25359813000101 130000003834 MG 42323 JOSÉ RAYDAN PV 43666 ... 200.0 Recursos de pessoas físicas Outros Recursos Estimado 001/2016 CONTRATO DE PRESTAÇÃO GRATUITA DE SER... #NULO #NULO #NULO #NULO #NULO
1867381 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 320.0 Recursos próprios Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867382 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 800.0 Recursos de pessoas físicas Outros Recursos Estimado CESSÃO DE MAO DE OBRA (MOTORISTA DIARIA) #NULO #NULO #NULO #NULO #NULO
1867383 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 650.0 Recursos de pessoas físicas Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867384 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 883.8 Recursos de pessoas físicas Outros Recursos Estimado VEICULO UTILIZADO NO PERIODO DA CAMPANHA ELEIT... #NULO #NULO #NULO #NULO #NULO
1867385 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 70.0 Recursos de partido político Outros Recursos Estimado SERVICO DE CONTABILIDADE #NULO #NULO #NULO #NULO #NULO
1867386 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 70.0 Recursos de partido político Outros Recursos Estimado SERVIÇO DE CONTABILIDADE #NULO #NULO #NULO #NULO #NULO
1867387 220 Eleições Municipais 2016 24/10/201621:30:15 25536205000117 170000009990 PE 24210 GLÓRIA DO GOITÁ DEM 25555 ... 50.0 Recursos de partido político Outros Recursos Estimado SANTINHOS #NULO #NULO #NULO #NULO #NULO
1867388 220 Eleições Municipais 2016 24/10/201621:30:15 25652723000104 160000008858 PR 74870 CAPANEMA PMDB 15123 ... 500.0 Recursos próprios Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO
1867389 220 Eleições Municipais 2016 24/10/201621:30:15 25652723000104 160000008858 PR 74870 CAPANEMA PMDB 15123 ... 150.0 Recursos próprios Outros Recursos Depósito em espécie #NULO #NULO #NULO #NULO #NULO #NULO

1867390 rows × 35 columns

Essa tabela tem muitas colunas que não precisamos usar na nossa análise. Vamos recuperar os nomes das colunas e depois vamos fazer um recorte para gerar uma base apenas com as colunas que queremos. Para recuperar as colunas de uma base, digite:


In [4]:
base.columns


Out[4]:
Index([u'Cód. Eleição', u'Desc. Eleição', u'Data e hora',
       u'CNPJ Prestador Conta', u'Sequencial Candidato', u'UF', u'Sigla da UE',
       u'Nome da UE', u'Sigla  Partido', u'Numero candidato', u'Cargo',
       u'Nome candidato', u'CPF do candidato', u'CPF do vice/suplente',
       u'Numero Recibo Eleitoral', u'Numero do documento',
       u'CPF/CNPJ do doador', u'Nome do doador',
       u'Nome do doador (Receita Federal)', u'Sigla UE doador',
       u'Número partido doador', u'Número candidato doador',
       u'Cod setor econômico do doador', u'Setor econômico do doador',
       u'Data da receita', u'Valor receita', u'Tipo receita', u'Fonte recurso',
       u'Especie recurso', u'Descricao da receita',
       u'CPF/CNPJ do doador originário', u'Nome do doador originário',
       u'Tipo doador originário', u'Setor econômico do doador originário',
       u'Nome do doador originário (Receita Federal)'],
      dtype='object')

Fatiando a base

Agora, vamos criar uma nova variável chamada "base_cortada" e vamos criar um novo DataFrame - o nome que o Pandas dá para as bases de dados que você manipula por meio do módulo - com as seguintes colunas:

  • Sequencial Candidato (essa é a chave que vai nos ajudar a buscar os dados de gênero depois)
  • Nome Candidato (nome para referência mais rápida)
  • UF (estado do candidato)
  • Nome da UE (cidade)
  • Sigla Partido
  • Cargo (Prefeito ou Vereador)
  • Nome do doador (nome do diretório ou comissão que doou)
  • Número partido doador (número da sigla registrado junto ao TSE)
  • Número candidato doador (número do candidato doador, se aplicável)
  • Valor receita (valor da doação)
  • Tipo de receita (categoria que nos ajuda a identificar se a doação foi de pessoa física ou de um partido, por exemplo)
  • Fonte receita (se aplicável)
  • Especie recurso (depósito em espécie? transferência eletrônica? etc)

In [5]:
base_cortada = pd.DataFrame(base, columns=[
                    u"Sequencial Candidato", 
                    u"Nome Candidato", 
                    u"UF", 
                    u"Nome da UE", 
                    u"Sigla  Partido",
                    u"Cargo",
                    u"Nome do doador",
                    u"Número partido doador", 
                    u"Número candidato doador", 
                    u"Valor receita", 
                    u"Tipo receita", 
                    u"Fonte receita", 
                    u"Especie recurso"
                ])

Vamos ver como ficou a nossa nova base cortada:


In [6]:
base_cortada


Out[6]:
Sequencial Candidato Nome Candidato UF Nome da UE Sigla Partido Cargo Nome do doador Número partido doador Número candidato doador Valor receita Tipo receita Fonte receita Especie recurso
0 160000007179 NaN PR CURITIBA PDT Vereador LUIZ HENRIQUE TABORDA DOMINGOS 12 12000 500.0 Recursos de pessoas físicas NaN Depósito em espécie
1 160000007179 NaN PR CURITIBA PDT Vereador ALESSANDRA EDUARDA PORNER BROERING 12 12000 500.0 Recursos de pessoas físicas NaN Depósito em espécie
2 160000007179 NaN PR CURITIBA PDT Vereador WLADIMIR MAZZOLLA MORAIS 12 12000 500.0 Recursos de pessoas físicas NaN Depósito em espécie
3 160000007179 NaN PR CURITIBA PDT Vereador RICARDO PERCEQUILO 12 12000 500.0 Recursos de pessoas físicas NaN Depósito em espécie
4 160000007179 NaN PR CURITIBA PDT Vereador IVO ORLANDO PETRIS 12 12000 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
5 160000007179 NaN PR CURITIBA PDT Vereador LUIZ CELSO BRANCO 12 12000 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
6 160000007179 NaN PR CURITIBA PDT Vereador OSVALDIR BENATO 12 12000 5000.0 Recursos de pessoas físicas NaN Transferência eletrônica
7 160000007179 NaN PR CURITIBA PDT Vereador GIOVANE MACHADO 12 12000 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
8 160000007179 NaN PR CURITIBA PDT Vereador GIOVANE MACHADO 12 12000 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
9 160000007179 NaN PR CURITIBA PDT Vereador GIOVANE MACHADO 12 12000 2000.0 Recursos de pessoas físicas NaN Transferência eletrônica
10 160000007179 NaN PR CURITIBA PDT Vereador GIOVANE MACHADO 12 12000 500.0 Recursos de pessoas físicas NaN Depósito em espécie
11 250000029177 NaN SP BOITUVA PMDB Prefeito JOSE APARECIDO CRISTO 15 15 5000.0 Recursos próprios NaN Depósito em espécie
12 250000029177 NaN SP BOITUVA PMDB Prefeito JOSE APARECIDO CRISTO 15 15 2000.0 Recursos próprios NaN Estimado
13 250000029177 NaN SP BOITUVA PMDB Prefeito JOSE APARECIDO CRISTO 15 15 2800.0 Recursos próprios NaN Transferência eletrônica
14 250000029177 NaN SP BOITUVA PMDB Prefeito Direção Municipal/Comissão Provisória 15 15 3000.0 Recursos de partido político NaN Transferência eletrônica
15 250000029177 NaN SP BOITUVA PMDB Prefeito Direção Municipal/Comissão Provisória 15 15 10000.0 Recursos de partido político NaN Transferência eletrônica
16 250000029177 NaN SP BOITUVA PMDB Prefeito MONICA CRISTINA VIANNA DA SILVA 15 15 540.0 Recursos de pessoas físicas NaN Estimado
17 250000029177 NaN SP BOITUVA PMDB Prefeito LUCAS DE CAMARGO 15 15 1000.0 Recursos de pessoas físicas NaN Estimado
18 250000029177 NaN SP BOITUVA PMDB Prefeito LUCIANA PROVAZI DAS NEVES 15 15 1000.0 Recursos de pessoas físicas NaN Estimado
19 250000029177 NaN SP BOITUVA PMDB Prefeito PAULO HENRRIQUE PEREIRA 15 15 200.0 Recursos de pessoas físicas NaN Estimado
20 250000029177 NaN SP BOITUVA PMDB Prefeito PAULO HENRRIQUE PEREIRA 15 15 100.0 Recursos de pessoas físicas NaN Estimado
21 250000029177 NaN SP BOITUVA PMDB Prefeito LUIZ LYRIO TALLARICO JUNIOR 15 15 300.0 Recursos de pessoas físicas NaN Estimado
22 250000029177 NaN SP BOITUVA PMDB Prefeito LUCIANO DE LIMA E SILVA 15 15 800.0 Recursos de pessoas físicas NaN Estimado
23 250000029177 NaN SP BOITUVA PMDB Prefeito SILVAN RENOSTO 15 15 1000.0 Recursos próprios NaN Transferência eletrônica
24 250000029177 NaN SP BOITUVA PMDB Prefeito SILVAN RENOSTO 15 15 500.0 Recursos próprios NaN Transferência eletrônica
25 250000072494 NaN SP BILAC PSDB Vereador OCIMAR RODRIGUES VIEIRA 45 45111 300.0 Recursos próprios NaN Depósito em espécie
26 250000072494 NaN SP BILAC PSDB Vereador OCIMAR RODRIGUES VIEIRA 45 45111 1000.0 Recursos próprios NaN Estimado
27 250000072494 NaN SP BILAC PSDB Vereador ELIANA PALMIERI 45 45111 30.0 Recursos de pessoas físicas NaN Transferência eletrônica
28 250000072494 NaN SP BILAC PSDB Vereador ELIANA PALMIERI 45 45111 215.0 Recursos de pessoas físicas NaN Depósito em espécie
29 250000072494 NaN SP BILAC PSDB Vereador ELEIÇÃO 2016 VITOR OSMAR BOTINI PREFEITO 45 45111 90.0 Recursos de outros candidatos NaN Estimado
... ... ... ... ... ... ... ... ... ... ... ... ... ...
1867360 210000004025 NaN RS CANOAS PT Vereador ELISE DOS SANTOS VARGAS 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867361 210000004025 NaN RS CANOAS PT Vereador MARCIA SALETE DA SILVA 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867362 210000004025 NaN RS CANOAS PT Vereador CARMEM HELOISA DA SILVA 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867363 210000004025 NaN RS CANOAS PT Vereador JUCEILA LOURDES DALL AGNOL DE LACERDA 13 13777 3000.0 Recursos de pessoas físicas NaN Estimado
1867364 210000004025 NaN RS CANOAS PT Vereador FABULO NASCIMENTO DA ROSA 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867365 210000004025 NaN RS CANOAS PT Vereador FABULO NASCIMENTO DA ROSA 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867366 210000004025 NaN RS CANOAS PT Vereador JULIO CEZAR DA SILVA SANTOS 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867367 210000004025 NaN RS CANOAS PT Vereador JULIO CEZAR DA SILVA SANTOS 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867368 210000004025 NaN RS CANOAS PT Vereador MATHEUS FELIPE TEIXEIRA MACHADO 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867369 210000004025 NaN RS CANOAS PT Vereador ELIANA MACHADO NASCIMENTO 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867370 210000004025 NaN RS CANOAS PT Vereador JERUSA FONFONKA MACHADO 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867371 210000004025 NaN RS CANOAS PT Vereador ROGERIO DA SILVA AMBIEDA 13 13777 1000.0 Recursos de pessoas físicas NaN Depósito em espécie
1867372 210000004025 NaN RS CANOAS PT Vereador LUIZ ANTONIO VIEIRA INDA 13 13777 1500.0 Recursos de pessoas físicas NaN Estimado
1867373 210000004025 NaN RS CANOAS PT Vereador LUCIANA NOBREGA VIEIRA 13 13777 10000.0 Recursos de pessoas físicas NaN Transferência eletrônica
1867374 260000006834 NaN SE ARAUÁ PROS Vereador VALTER SANTOS MEDEIROS 90 90123 450.0 Recursos próprios NaN Depósito em espécie
1867375 260000006834 NaN SE ARAUÁ PROS Vereador JOSE VANDERLEY DA CRUZ 90 90123 200.0 Recursos de pessoas físicas NaN Estimado
1867376 130000003834 NaN MG JOSÉ RAYDAN PV Vereador VAGNER BENEVIDES TEMPONI 43 43666 4950.0 Recursos próprios NaN Transferência eletrônica
1867377 130000003834 NaN MG JOSÉ RAYDAN PV Vereador VAGNER BENEVIDES TEMPONI 43 43666 1000.0 Recursos próprios NaN Estimado
1867378 130000003834 NaN MG JOSÉ RAYDAN PV Vereador NILSON PEREIRA PINTO 43 43666 100.0 Recursos de pessoas físicas NaN Estimado
1867379 130000003834 NaN MG JOSÉ RAYDAN PV Vereador FRANK ROBERT ALVES FERREIRA 43 43666 100.0 Recursos de pessoas físicas NaN Estimado
1867380 130000003834 NaN MG JOSÉ RAYDAN PV Vereador JULIANA ALVES DA SILVA 43 43666 200.0 Recursos de pessoas físicas NaN Estimado
1867381 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador JOSÉ KAIO FELIPE NERY 25 25555 320.0 Recursos próprios NaN Depósito em espécie
1867382 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador AMANDA ELIZABETTE NERY CAMPOS 25 25555 800.0 Recursos de pessoas físicas NaN Estimado
1867383 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador AMANDA ELIZABETTE NERY CAMPOS 25 25555 650.0 Recursos de pessoas físicas NaN Depósito em espécie
1867384 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador MARTA LOURDES DA SILVA 25 25555 883.8 Recursos de pessoas físicas NaN Estimado
1867385 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador Direção Municipal/Comissão Provisória 25 25555 70.0 Recursos de partido político NaN Estimado
1867386 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador Direção Municipal/Comissão Provisória 25 25555 70.0 Recursos de partido político NaN Estimado
1867387 170000009990 NaN PE GLÓRIA DO GOITÁ DEM Vereador Direção Municipal/Comissão Provisória 25 25555 50.0 Recursos de partido político NaN Estimado
1867388 160000008858 NaN PR CAPANEMA PMDB Vereador ROQUE OSMAR POMPERMAIER 15 15123 500.0 Recursos próprios NaN Depósito em espécie
1867389 160000008858 NaN PR CAPANEMA PMDB Vereador ROQUE OSMAR POMPERMAIER 15 15123 150.0 Recursos próprios NaN Depósito em espécie

1867390 rows × 13 columns

Agora vamos salvar a base para um arquivo CSV usando a função "to_csv" do Pandas:


In [7]:
base_cortada.to_csv("receitas_GN.csv", encoding="utf-8")

Buscando o sexo

Agora que temos a base que precisamos para fazer as análises, precisamos buscar o sexo de todos os candidatos.

Vamos usar a coluna "Sequencial Candidato" na base que acabamos de criar e vamos compará-la com uma coluna de mesmo nome na base "consulta_cand_2016_brasil.txt".

Essa base foi criada unindo todos os arquivos TXT do TSE com um simples comando no terminal:

cat *.txt > consulta_cand_2016_brasil.csv

Você pode renomear depois para .txt (como abaixo) ou deixar .csv mesmo. Agora basta criarmos um novo DataFrame com a base que acabamos de definir:


In [8]:
candidatos = pd.read_csv(
    'data/consulta_cand_2016_brasil.txt', 
    delimiter=";", 
    decimal=",", 
    encoding="latin1",
    header=None,
    low_memory=False)

In [9]:
candidatos.columns


Out[9]:
Int64Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
            17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
            34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45],
           dtype='int64')

Como percebemos acima, o arquivo de candidaturas não possui cabeçalho. Foi por isso que um dos parâmetros na hora de importar o arquivo foi "header=None".

Com isso, o Pandas nomeou em sequência as colunas do 0 até o 45, totalizando 46 colunas.

Para a consulta de sexo dos candidados vamos renomear as colunas 10, 11 e 30. Assim, criaremos uma nova base apenas com os nomes, o número sequencial e o sexo dos candidatos. Vamos usar essa base para acrescentar a informação de sexo na nossa tabela de doações:


In [10]:
candidatos.rename(columns={10: "Nome Candidato", 11:"Sequencial Candidato", 30:"Sexo"}, inplace=True)

In [11]:
candidatos_sexo = pd.DataFrame(candidatos, columns=["Sequencial Candidato", "Nome Candidato", "Sexo"])

In [12]:
candidatos_sexo


Out[12]:
Sequencial Candidato Nome Candidato Sexo
0 10000000924 MARIA DAS GRAÇAS LIMA FERREIRA FEMININO
1 10000000792 MARIA AUXILIADORA DIAS FEMININO
2 10000000941 MAMED DANKAR NETO MASCULINO
3 10000003498 JUCIANE DA SILVA PEIXOTO FEMININO
4 10000000953 FRANCISCO RODRIGUES DOS SANTOS MASCULINO
5 10000000965 DANIEL RIBEIRO DE MOURA MASCULINO
6 10000000889 CLERTON GASPAR DE SOUZA MASCULINO
7 10000000893 ANDRÉ LUIZ MELHORANÇA FILHO MASCULINO
8 10000000897 MARIA MARCELA MESSIAS DE MELO FEMININO
9 10000002682 DOMINGOS SAVIO MOREIRA DE ANDRADE MASCULINO
10 10000000906 JOAREZ GOMES BEZERRA MASCULINO
11 10000000910 ELISANGELA MARIA GOMES DA SILVA FEMININO
12 10000000922 MARCUS ALEXANDRE MÉDICI AGUIAR VIANA DA SILVA MASCULINO
13 10000000933 ANTONIO LIRA DE MORAIS MASCULINO
14 10000001061 ABÍLIO RODRIGUES BARBOSA NETO MASCULINO
15 10000003504 DAMIAO DA SILVA NASCIMENTO MASCULINO
16 10000001071 LAEZIO FERREIRA DE ALMEIDA MASCULINO
17 10000001362 PATRÍCIA BATISTA SCHILLING FEMININO
18 10000001078 MARTA REGINA MARQUES DA SILVA FEMININO
19 10000001079 JOSÉ BONFIM DE OLIVEIRA AMORIM MASCULINO
20 10000001083 SEBASTIÃO BENICIO DE SOUZA MASCULINO
21 10000001091 EDINEIA CANDIDA BERTO FEMININO
22 10000001097 VALDECIR DE LIMA MASCULINO
23 10000001100 MARCIANO BEZERRA DA SILVA MASCULINO
24 10000001101 VILSON DOS SANTOS MASCULINO
25 10000001102 ROZENO DA SILVA MELO MASCULINO
26 10000003261 LEIDA KULINA FEMININO
27 10000003262 SALOMÃO JOSÉ DIAS MADJA MASCULINO
28 10000003465 MANOEL NAGUILO GOMES DE AZEVEDO MASCULINO
29 10000001129 MARIA DE NAZARÉ MARQUES DA SILVA FEMININO
... ... ... ...
497096 270000008880 TOMAZ DA SILVA XAVIER MASCULINO
497097 270000007598 JOSE AMERICO AQUINO DE SOUSA MASCULINO
497098 270000007599 JAVAN QUIXABEIRA DE JESUS MASCULINO
497099 270000007613 JOSE PAULINO LIMA DOS SANTOS MASCULINO
497100 270000009393 FRANCO BARBOSA DE SOUSA MASCULINO
497101 270000009401 JEANE DA SILVA SOUSA FEMININO
497102 270000005800 LUZIANE ALVES RIBEIRO FEMININO
497103 270000005805 ANTONIO CARLOS DE OLIVEIRA COSTA MASCULINO
497104 270000005499 ARTUR DIAS BENTO MASCULINO
497105 270000005320 ROSINALVA PEREIRA GOMES DE SOUSA FEMININO
497106 270000005351 GENIVALDO NERES FREITAS MASCULINO
497107 270000006334 ROGERIO TAVARES RODRIGUES DA COSTA MASCULINO
497108 270000006343 MAURO JOSE RODRIGUES FRAGOSO MASCULINO
497109 270000009296 NILZA RODRIGUES DE SOUZA FEMININO
497110 270000009043 RAIMUNDO NONATO GOMES DOS SANTOS MASCULINO
497111 270000007451 ELVI LEAO COSTA MASCULINO
497112 270000008044 ANTONIA OZELIA DA SILVA FEMININO
497113 270000008063 MAYANE RODRIGUES BEZERRA FEMININO
497114 270000005075 DORECINO BARBOSA CIRQUEIRA MASCULINO
497115 270000004675 FRANCIANE CARNEIRO DE SOUZA FEMININO
497116 270000001987 FRANCISCA AUDEIDE RODRIGUES DO NASCIMENTO FEMININO
497117 270000005891 NATANAEL DOS SANTOS MACEDO MASCULINO
497118 270000006906 JOÃO ALBERTO COELHO MACHADO MASCULINO
497119 270000006909 MARCOS AURÉLIO SUWATE XERENTE MASCULINO
497120 270000006924 SUELENE LUSTOSA MATOS FEMININO
497121 270000006927 MARIA DO SOCORRO LUSTOSA DE SOUSA FEMININO
497122 270000006933 NEURAN RIBEIRO GUIMARÃES MASCULINO
497123 270000008097 PATRICIA PIMENTEL HENRIQUE FEMININO
497124 270000007944 GILSON ALVES ZIELINSKI MASCULINO
497125 270000010291 JOAOZINEI FRANCISCO DA ROCHA MASCULINO

497126 rows × 3 columns

Vamos salvar uma cópia desse arquivo no formato CSV. Assim você pode importar para o seu processador de planilhas favorito.


In [13]:
candidatos_sexo.to_csv("consulta_cand_2016_sexo.csv", encoding="utf-8")

Unindo tabelas pelo número sequencial

Vamos unir as duas tabelas usando a coluna que elas possuem em comum: Sequencial Candidato. À esquerda, vamos usar a nossa base cortada, à direita a base de candidatos com o sexo. O ponto de união das duas bases será a coluna Sequencial Candidato.

O Pandas já faz o trabalho pra gente: onde o número sequencial na tabela com os sexos for X, por exemplo, ele vai acrescentar o valor do sexo automaticamente. Funciona como um VLOOKUP/PROCV ou index/match:


In [14]:
left = base_cortada
right = candidatos_sexo

merge = pd.merge(left,right, on="Sequencial Candidato")

Dividindo entre prefeitos e vereadores

Os valores de doação para prefeitos e vereadores são muito diferentes.

Vamos criar uma base apenas com os cargos de prefeito e outra apenas com vereadores:


In [15]:
merge_filtrado = merge[merge['Tipo receita'] == u"Recursos de partido político"]
prefeitos = merge_filtrado[merge_filtrado['Cargo'] == u"Prefeito"]
vereadores = merge_filtrado[merge_filtrado['Cargo'] == u"Vereador"]

Agora geramos duas tabelas dinâmicas com os valores agregados.

Quem recebeu mais: homens ou mulheres?

Nesse caso, queremos saber quanto os partidos doaram para mulheres e homens em cada localidade e quantas mulheres e homens estavam concorrendo em cada cidade.


In [16]:
tabela_final_prefeitos = prefeitos.pivot_table(index=[u'Número partido doador',
                         u'UF', 
                         u'Nome da UE'],
                  columns=[u'Sexo'],
                  values=['Valor receita', "Sequencial Candidato"], 
                  aggfunc=[sum, pd.Series.nunique])

tabela_final_vereadores = vereadores.pivot_table(index=[u'Número partido doador',
                         u'UF', 
                         u'Nome da UE'],
                  columns=[u'Sexo'],
                  values=['Valor receita', "Sequencial Candidato"], 
                  aggfunc=[sum, pd.Series.nunique])

In [17]:
tabela_final_prefeitos


Out[17]:
sum nunique
Valor receita Sequencial Candidato Valor receita Sequencial Candidato
Sexo FEMININO MASCULINO FEMININO MASCULINO FEMININO MASCULINO FEMININO MASCULINO
Número partido doador UF Nome da UE
10 AC ACRELÂNDIA 55394.00 NaN 6.000001e+10 NaN 6.0 NaN 1.0 NaN
SENADOR GUIOMARD NaN 38058.00 NaN 9.000002e+10 NaN 9.0 NaN 1.0
AM MANAUS NaN 1060000.00 NaN 1.200000e+11 NaN 2.0 NaN 1.0
AP MACAPÁ 905000.00 NaN 1.500000e+11 NaN 4.0 NaN 1.0 NaN
BA AMÉLIA RODRIGUES NaN 6478.50 NaN 2.500000e+11 NaN 5.0 NaN 1.0
LAJEDO DO TABOCAL NaN 20350.00 NaN 1.500000e+11 NaN 2.0 NaN 1.0
CE FORTALEZA NaN 777000.00 NaN 2.400000e+11 NaN 3.0 NaN 1.0
GO MONTE ALEGRE DE GOIÁS NaN 5000.00 NaN 9.000000e+10 NaN 1.0 NaN 1.0
NOVO GAMA NaN 145000.00 NaN 4.500001e+11 NaN 5.0 NaN 1.0
PORANGATU NaN 10000.00 NaN 9.000000e+10 NaN 1.0 NaN 1.0
RUBIATABA NaN 30000.00 NaN 1.800000e+11 NaN 2.0 NaN 1.0
SÃO SIMÃO NaN 5000.00 NaN 9.000001e+10 NaN 1.0 NaN 1.0
MA ARAIOSES NaN 10000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
BURITICUPU NaN 10594.00 NaN 1.300000e+12 NaN 13.0 NaN 1.0
CAXIAS NaN 215000.00 NaN 3.000000e+11 NaN 3.0 NaN 1.0
CHAPADINHA 38000.00 NaN 2.000000e+11 NaN 2.0 NaN 1.0 NaN
GODOFREDO VIANA 2300.00 NaN 1.300000e+12 NaN 3.0 NaN 1.0 NaN
GOVERNADOR NEWTON BELLO NaN 20000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
LAGO DA PEDRA NaN 10000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
NINA RODRIGUES NaN 10000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
PAÇO DO LUMIAR NaN 20000.00 NaN 2.000000e+11 NaN 1.0 NaN 1.0
PIRAPEMAS NaN 10000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
PRIMEIRA CRUZ NaN 10000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
RAPOSA 30000.00 NaN 2.000000e+11 NaN 1.0 NaN 1.0 NaN
SÃO VICENTE FERRER NaN 10000.00 NaN 1.000000e+11 NaN 1.0 NaN 1.0
TIMBIRAS NaN 20000.00 NaN 2.000000e+11 NaN 1.0 NaN 1.0
MG ABRE CAMPO NaN 5000.00 NaN 1.300000e+11 NaN 1.0 NaN 1.0
BAMBUÍ NaN 403.45 NaN 1.300001e+11 NaN 1.0 NaN 1.0
BANDEIRA NaN 52.00 NaN 1.300000e+11 NaN 1.0 NaN 1.0
CACHOEIRA DE MINAS NaN 104.00 NaN 1.300000e+11 NaN 1.0 NaN 1.0
... ... ... ... ... ... ... ... ... ... ...
90 GO SÍTIO D'ABADIA NaN 1240.46 NaN 6.300001e+11 NaN 6.0 NaN 1.0
ÁGUA FRIA DE GOIÁS NaN 21152.01 NaN 3.600000e+11 NaN 4.0 NaN 1.0
MG ANDRADAS 10980.02 NaN 1.170001e+12 NaN 8.0 NaN 1.0 NaN
BELO HORIZONTE NaN 120000.00 NaN 2.600002e+11 NaN 2.0 NaN 1.0
DIVINÓPOLIS NaN 65000.00 NaN 2.600002e+11 NaN 2.0 NaN 1.0
LUISBURGO NaN 5000.00 NaN 1.300001e+11 NaN 1.0 NaN 1.0
PARAOPEBA NaN 17969.68 NaN 9.100002e+11 NaN 6.0 NaN 1.0
RAUL SOARES 5000.00 NaN 1.300000e+11 NaN 1.0 NaN 1.0 NaN
SANTA MARIA DE ITABIRA NaN 3000.00 NaN 3.900002e+11 NaN 3.0 NaN 1.0
PE RIO FORMOSO NaN 47200.00 NaN 1.700000e+11 NaN 1.0 NaN 1.0
PI CRISTINO CASTRO 10000.00 NaN 1.800000e+11 NaN 1.0 NaN 1.0 NaN
SÃO GONÇALO DO GURGUÉIA NaN 689.50 NaN 3.600000e+11 NaN 2.0 NaN 1.0
SÃO JOÃO DO PIAUÍ NaN 20000.00 NaN 1.800000e+11 NaN 1.0 NaN 1.0
PR CAFELÂNDIA NaN 768.00 NaN 1.600000e+11 NaN 1.0 NaN 1.0
CAMBIRA NaN 331.85 NaN 3.200000e+11 NaN 2.0 NaN 1.0
CATANDUVAS NaN 55.41 NaN 1.600000e+11 NaN 1.0 NaN 1.0
CRUZEIRO DO OESTE 456.60 NaN 3.200000e+11 NaN 2.0 NaN 1.0 NaN
FOZ DO IGUAÇU NaN 60000.00 NaN 1.600000e+11 NaN 1.0 NaN 1.0
IMBAÚ NaN 454.80 NaN 3.200000e+11 NaN 2.0 NaN 1.0
MARECHAL CÂNDIDO RONDON NaN 400.50 NaN 3.200000e+11 NaN 2.0 NaN 1.0
REBOUÇAS NaN 8900.00 NaN 4.480000e+12 NaN 5.0 NaN 1.0
RIBEIRÃO DO PINHAL NaN 345.00 NaN 1.600000e+11 NaN 1.0 NaN 1.0
RONDON NaN 1775.00 NaN 3.200000e+11 NaN 2.0 NaN 1.0
TELÊMACO BORBA NaN 6469.30 NaN 8.000002e+11 NaN 5.0 NaN 1.0
VERA CRUZ DO OESTE NaN 1595.00 NaN 6.400000e+11 NaN 3.0 NaN 1.0
VERÊ NaN 3741.25 NaN 4.800000e+11 NaN 3.0 NaN 1.0
RO OURO PRETO DO OESTE 35000.00 NaN 6.600000e+11 NaN 2.0 NaN 1.0 NaN
RS PELOTAS NaN 1751.00 NaN 6.300001e+11 NaN 3.0 NaN 1.0
SP JARINU 2150.00 NaN 2.500001e+11 NaN 1.0 NaN 1.0 NaN
MOCOCA NaN 3508.00 NaN 1.000000e+12 NaN 4.0 NaN 1.0

5606 rows × 8 columns


In [18]:
tabela_final_prefeitos.to_csv("tabela_final_prefeitos.csv", encoding="utf-8")
tabela_final_vereadores.to_csv("tabela_final_vereadores.csv", encoding="utf-8")

Qual foi o valor máximo doado de uma vez só?

Também queremos saber quais foram os valores máximos doados por cada partido em cada um dos cargos.

Geramos outra tabela dinâmica, assim:


In [19]:
maximos_prefeitos = prefeitos.pivot_table(index=[u'Número partido doador'],
                            values=['Valor receita'],
                            columns=["Sexo"],
                            aggfunc=max)

maximos_vereadores = vereadores.pivot_table(index=[u'Número partido doador'],
                            values=['Valor receita'],
                            columns=["Sexo"],
                            aggfunc=max)

In [20]:
maximos_prefeitos.to_csv("maximos_prefeitos.csv", encoding = "utf-8")
maximos_vereadores.to_csv("maximos_vereadores.csv", encoding = "utf-8")

In [21]:
maximos_vereadores


Out[21]:
Valor receita
Sexo FEMININO MASCULINO
Número partido doador
10 30000.00 50000.0
11 90000.00 100000.0
12 22500.00 50000.0
13 200000.00 200000.0
14 150000.00 100000.0
15 50000.00 100000.0
16 4071.94 20000.0
17 22000.00 100000.0
18 2204.00 9000.0
19 15000.00 300000.0
20 12000.00 100000.0
21 100.00 2400.0
22 133000.00 300000.0
23 50000.00 50000.0
25 300000.00 1000000.0
27 8000.00 200000.0
28 19950.00 25000.0
30 10000.00 21000.0
31 25000.00 50000.0
33 9000.00 47500.0
35 10000.00 59000.0
36 8530.00 21600.0
40 40000.00 100000.0
43 50000.00 25000.0
44 12000.00 50000.0
45 100000.00 100000.0
50 9600.00 50000.0
51 20000.00 139000.0
54 13600.00 40000.0
55 200000.00 200000.0
65 26818.75 38000.0
70 4000.00 50000.0
77 15000.00 50000.0
90 10000.00 80000.0

Ainda é possível fazer muitas análises com essa base! Estamos só começando.

Se você gostaria de fazer algum comentário ou sugestão, entre em contato com a gente no contato@generonumero.media