http://www.transparencia.feiradesantana.ba.gov.br/index.php?view=covid19
import pandas as pd
import matplotlib.pyplot as plt
despesas = pd.read_csv('gastos-covid19-prefeitura.csv')
despesas.head()
action | company_or_person | crawled_at | crawled_from | date | document | function | group | number | phase | process_number | published_at | resource | subfunction | summary | type_of_process | value | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2291 - Enfrentamento da Emergencia Coronavirus... | CIDADE PROPAGANDA E MARKETING | 2020-05-18 14:58:29.565075 | http://www.transparencia.feiradesantana.ba.gov... | 13/05/2020 | 06.955.452/0001-03 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 11 | LIQUIDAÇÃO | 237-2019 | 13/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADES COVID 1... | Pregao | R$ 39.735,00 |
1 | 2291 - Enfrentamento da Emergencia Coronavirus... | NORLIMP COMERCIAL ATACADISTA DE COSM. E PRODUT... | 2020-05-18 14:58:29.578282 | http://www.transparencia.feiradesantana.ba.gov... | 11/05/2020 | 00.990.097/0001-27 | 10 - SAUDE | 339030999900000000 - Materiais de Consumo - Ou... | 1 | LIQUIDAÇÃO | 334-2020-11D | 11/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | REF AQUISICAO DE MATERIAL DE CONSUMO P/ O COMB... | Dispensa | R$ 274.460,00 |
2 | os 2291 - Enfren... | RN COSTA COMERCIAL LTDA | 2020-05-18 14:58:29.580821 | http://www.transparencia.feiradesantana.ba.gov... | 14/05/2020 | 12.812.660/0001-56 | 10 - SAUDE | 449052040000000000 - Bens Moveis- Moveis e Ute... | 1 | LIQUIDAÇÃO | NaN | 14/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | AQUISICAO DE MATERIAL PARA O COMBATE AO COVID... | Isento | R$ 111.450,00 |
3 | cos 2291 - Enfren... | RN COSTA COMERCIAL LTDA | 2020-05-18 14:58:29.583275 | http://www.transparencia.feiradesantana.ba.gov... | 14/05/2020 | 12.812.660/0001-56 | 10 - SAUDE | 449052061200000000 - Aparelhos e utensilios do... | 4223 | PAGAMENTO | 332-2020-11D | 14/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | AQUISICAO DE MATERIAL PARA O COMBATE AO COVID... | Dispensa | R$ 30.950,00 |
4 | os 2291 - Enfren... | RN COSTA COMERCIAL LTDA | 2020-05-18 14:58:29.585891 | http://www.transparencia.feiradesantana.ba.gov... | 14/05/2020 | 12.812.660/0001-56 | 10 - SAUDE | 449052040000000000 - Bens Moveis- Moveis e Ute... | 4224 | PAGAMENTO | NaN | 14/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | AQUISICAO DE MATERIAL PARA O COMBATE AO COVID... | Isento | R$ 111.450,00 |
colunas = ['crawled_at', 'crawled_from']
despesas.drop(colunas, inplace=True, axis=1)
def currency_to_float(value):
"""Converte de R$ 69.848,70 (str) para 69848.70 (float)."""
try:
cleaned_value = value.replace("R$", "").replace(".", "").replace(",", ".")
return float(cleaned_value)
except ValueError:
pass
return
despesas['value'] = despesas['value'].apply(currency_to_float)
despesas = despesas.sort_values('date', ascending=False)
despesas.head()
action | company_or_person | date | document | function | group | number | phase | process_number | published_at | resource | subfunction | summary | type_of_process | value | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
64 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 29/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 18 | LIQUIDAÇÃO | 237-2019 | 29/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 3910.23 |
136 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 11 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 28089.17 |
120 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 12 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 9000.00 |
121 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 15 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 6750.00 |
66 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 17 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 21376.26 |
# disponível em: https://gist.github.com/anapaulagomes/379525586f941a1183aa448dad282f90#file-especificacao-despesas-tcm-bahia-csv
classificacao = pd.read_csv(
'especificacao-despesas-tcm-bahia.csv',
dtype={'Codigo': str, 'Descricao': str, 'Codigo Superior': str}
)
classificacao
Codigo | Descricao | Codigo Superior | |
---|---|---|---|
0 | 30000000 | Despesas Correntes | 0 |
1 | 31000000 | Pessoal e Encargos Sociais | 30000000 |
2 | 31300000 | Transferências a Estados e ao Distrito Federal | 31000000 |
3 | 31301100 | Vencimentos e Vantagens Fixas - Pessoal Civil | 31300000 |
4 | 31301101 | Vencimento e vantagens fixas Pessoal Civil (Ve... | 31301100 |
... | ... | ... | ... |
2479 | 77999999 | Reserva Orçamentária do RPPS | 77999900 |
2480 | 88880000 | Recursos Provenientes de Veto | 0 |
2481 | 88888800 | Recursos Provenientes de Veto | 88880000 |
2482 | 99999900 | Reservas | 0 |
2483 | 99999999 | Reserva de Contingência | 99999900 |
2484 rows × 3 columns
despesas['classificacao'] = despesas['group'].str.extract('(\d{8})')
despesas_com_classificacao = despesas.merge(classificacao, left_on=['classificacao'], right_on=['Codigo'], how='left')
despesas_com_classificacao
action | company_or_person | date | document | function | group | number | phase | process_number | published_at | resource | subfunction | summary | type_of_process | value | classificacao | Codigo | Descricao | Codigo Superior | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 29/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 18 | LIQUIDAÇÃO | 237-2019 | 29/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 3910.23 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
1 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 11 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 28089.17 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
2 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 12 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 9000.00 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
3 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 15 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 6750.00 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
4 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 28/04/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 17 | LIQUIDAÇÃO | 237-2019 | 28/04/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 21376.26 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
137 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 04/05/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 3682 | PAGAMENTO | 237-2019 | 04/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 5925.00 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
138 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 04/05/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 3676 | PAGAMENTO | 237-2019 | 04/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 9000.00 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
139 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 04/05/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 3677 | PAGAMENTO | 237-2019 | 04/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 28089.17 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
140 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 04/05/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 3683 | PAGAMENTO | 237-2019 | 04/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 21376.26 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
141 | 2291 - Enfrentamento da Emergencia Coronavirus... | A.C.PROPAGANDA LTDA. | 04/05/2020 | 02.811.243/0001-35 | 10 - SAUDE | 339039010000000000 - Publicidades e Propaganda | 3681 | PAGAMENTO | 237-2019 | 04/05/2020 | 0014 - TRANSF. REC. SUS | 122 - ADMINISTRACAO GERAL | PRESTACAO DE SERVICOS EM PUBLICIDADE COVID 19... | Pregao | 6750.00 | 33903901 | 33903901 | Publicidade e Propaganda | 33903900 |
142 rows × 19 columns
despesas.shape, despesas_com_classificacao.shape
((142, 16), (142, 19))
despesas.groupby('process_number').count()
despesas.groupby(['process_number', 'phase'])['value'].sum().to_frame()
value | ||
---|---|---|
process_number | phase | |
237-2019 | EMPENHO | 1585000.00 |
LIQUIDAÇÃO | 812270.93 | |
PAGAMENTO | 1186257.32 | |
316-2020-11D | EMPENHO | 395342.40 |
317-2020-11D | PAGAMENTO | 95700.00 |
332-2020-11D | LIQUIDAÇÃO | 89350.00 |
PAGAMENTO | 89350.00 | |
334-2020-11D | LIQUIDAÇÃO | 1062220.00 |
PAGAMENTO | 696840.00 | |
376-2020-11D | LIQUIDAÇÃO | 29400.00 |
PAGAMENTO | 29400.00 |
import seaborn as sns
sns.set_style("whitegrid")
pagamentos = despesas_com_classificacao[despesas_com_classificacao['phase'] == 'PAGAMENTO']
plt.figure(figsize=(16,8))
plot = sns.barplot(
x=pagamentos['Descricao'],
y=pagamentos.value,
estimator=sum,
log=False,
ci=None,
)
plot.set_xticklabels(plot.get_xticklabels(), rotation=75, horizontalalignment='right')
plt.ticklabel_format(style='plain', axis='y')
plt.show()
pagamentos.groupby(
['company_or_person']
)['value'].sum().to_frame()
value | |
---|---|
company_or_person | |
4MBR COM. E REPRES MAT MED LTD | 29400.00 |
A.C.PROPAGANDA LTDA. | 684161.61 |
AGENCIA COMUN. EIRELI | 13322.00 |
C. F. DE ALMEIDA CIA. LTDA. | 12000.00 |
CIDADE PROPAGANDA E MARKETING | 488773.71 |
H3 PHARMA COMERCIO E SERVICOS LTDA | 95700.00 |
NORLIMP COMERCIAL ATACADISTA DE COSM. E PRODUTOS DE PERFUMARIA LTDA | 696840.00 |
O L SIMONELI | 23345.00 |
RN COSTA COMERCIAL LTDA | 200800.00 |
pagamentos.groupby(
['Descricao']
)['value'].sum().to_frame()
value | |
---|---|
Descricao | |
Bens Móveis – Móveis e Utensílios | 169850.00 |
Equipamentos e Materiais Permanentes – Diversos | 30950.00 |
Material Odontológico, Hospitalar e Ambulatorial | 86400.00 |
Material de Consumo – Outros | 758885.00 |
Outros Serviços de Terceiros - Pessoa Jurídica | 12000.00 |
Publicidade e Propaganda | 1186257.32 |
print(pagamentos.describe())
# 64 pagamentos. Menor: 375 Maior: 365380.00
# Total: 2.244.342,32
print(pagamentos['value'].sum())
number value count 64.00000 64.000000 mean 3817.21875 35067.848750 std 245.74296 59020.562342 min 3478.00000 375.000000 25% 3622.75000 6353.850000 50% 3954.50000 13600.000000 75% 3970.25000 43315.425000 max 4225.00000 365380.000000 2244342.32
# despesas_com_classificacao.to_csv('despesas-covid19-prefeitura.csv')
# https://drive.google.com/file/d/1SAkAuGuOnuBTC5KT133lJhsYCm40Hfxc/view?usp=sharing