HackFest

Imports


In [34]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

In [35]:
pd.options.display.max_rows = 20

%matplotlib inline

In [36]:
df_pag = pd.read_csv('../data/pagamentos.csv', sep=';',)
df_emp = pd.read_csv('../data/empenhos.csv', sep=';')
df_lic = pd.read_csv('../data/licitacao.csv', sep=';')
df_con = pd.read_csv('../data/contratos.csv', sep=';')
df_adi = pd.read_csv('../data/aditivos.csv', encoding='ISO-8859-1',sep=';')


/home/diogo/miniconda3/envs/datascience/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2698: DtypeWarning: Columns (9,10,12,13) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)
/home/diogo/miniconda3/envs/datascience/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2698: DtypeWarning: Columns (5,7) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)

Valor ganho por tipo de contrato


In [37]:
tmp = df_con.groupby(['nu_CPFCNPJ', 'tp_Licitacao'])['vl_TotalContrato'].sum().reset_index()
tmp = tmp.rename(columns={'vl_TotalContrato':'vl_Contrato'})
tmp.to_csv(path_or_buf="/home/diogo/Documentos/hackfest/Teupassadotecondena/data/valor_por_licitacao_por_cnpj.csv", sep=';')

Quantidade de dinheiro ganho em todos os contratos


In [38]:
df_con.groupby('nu_CPFCNPJ')['vl_TotalContrato'].sum().reset_index().to_csv(path_or_buf="/home/diogo/Documentos/hackfest/Teupassadotecondena/data/valor_contratos_por_cnpj.csv", sep=';')

Quantidade de contratos (Ganhos)


In [39]:
df_con.groupby(['nu_CPFCNPJ'])['nu_CPFCNPJ'].count().reset_index(name='qtdContratos').to_csv(path_or_buf="/home/diogo/Documentos/hackfest/Teupassadotecondena/data/qtde_contratos_ganhos.csv", sep=';')

Total de Contratos Empresa


In [40]:
# Total de contratos por empresa
total_con = df_con.groupby("nu_CPFCNPJ")["nu_CPFCNPJ"].count().reset_index(name="qtdContratos")
total_con.to_csv("../data/qtde_contratos_empresa.csv",sep=";")

Descreve a quantidade de empresas pela quantidade de contratos


In [41]:
#Descreve a quantidade de empresas pela quantidade de contratos
qtd_empresas_por_contrato = total_con.groupby("qtdContratos")["qtdContratos"].sum()
qtd_empresas_por_contrato.to_csv("../data/qtde_empresas_qtde_contratos.csv",sep=";")
#df_adi[df_adi["nu_Contrato"].isin(df_con["nu_Contrato"])].to_csv("C:\\Users\\Iron\\Desktop\\aditivos.cvs", sep=";")

Quantidade de Aditivos por contrato


In [42]:
#Quantidade de Aditivos por contrato
qtd_aditivos_contrato = df_adi.groupby("nu_Contrato")["nu_Contrato"].count().reset_index(name="qtdContratosAditivos")
qtd_aditivos_contrato.to_csv("../data/qtde_aditivos_contrato.csv",sep=";")

Quantidade de aditivos por CPF/CNPJ


In [43]:
#Quantidade de aditivos por CPFCNPJ, lebrar que cada contrato pode ter mais de 1 CPFCNPJ vinculado. Portanto os aditivos do contrato foram somados a cada CPFCNPJ

df_qtdContratos_Aditivos = df_adi.groupby("nu_Contrato")["nu_Contrato"].count().reset_index(name="qtdContratosAditivos")

df_con_merge = df_con.merge(df_qtdContratos_Aditivos,on="nu_Contrato")

df_adi_cpfcnpj = df_con_merge.groupby("nu_CPFCNPJ")["qtdContratosAditivos"].sum().reset_index(name="qtdAditivosPorCPFCNPJ")       
df_adi_cpfcnpj.to_csv("../data/qtde_aditivos_cpfcnpj.csv",sep=";")