Análise dos dados da Proposta de Orçamento 2015

10 views
Skip to first unread message

Edgar Zanella Alvarenga

unread,
Dec 4, 2014, 2:06:56 PM12/4/14
to Gastosabertos Dev
Fiz um notebook do ipython para extrair algumas informações de colunas
numéricas
das planilhas que iremos utilizar:

https://pt.wikiversity.org/wiki/Gastos_Abertos/Proposta_Quadro_Detalhado

Por enquanto apliquei apenas na proposta de orçamento de 2015 e só
estou
contando o número de valores distintos e o range deles.

A idéia é utilizarmos isso para estimar quais tipos de visualizações
fazem
mais sentido, dado que o range de valores, e número de valores
categóricos
são fatores importantes para decidirmos isso.

Seria interessante conseguirmos mapear também as relações hierárquivas
entre
os campo, por exemplo, Órgão > Unidade.

Podemos trabalhar no código do notebook para fazer um programa que gere
um
json de um data model do openspending
(https://openspending.readthedocs.org/en/latest/model/design.html#modeling-mapping-schema).

Edgar

Andres MRM

unread,
Dec 5, 2014, 8:28:38 AM12/5/14
to gastosab...@googlegroups.com
Mapeei os repasses absolutos para as subs:
http://andresmrm.cartodb.com/viz/dbd0ad30-7c81-11e4-b795-0e4fddd5de28/public_map

Quoting Edgar Zanella Alvarenga (2014-12-04 17:06:55)
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "gastosabertos-dev" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para gastosabertos-...@googlegroups.com.
> Para postar neste grupo, envie um e-mail para gastosab...@googlegroups.com.
> Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/gastosabertos-dev/d65fa154baf7822c10d9977b281986c0%40vaz.io.
> Para obter mais opções, acesse https://groups.google.com/d/optout.

Andres MRM

unread,
Dec 5, 2014, 10:48:21 AM12/5/14
to gastosab...@googlegroups.com
Coloquei mais duas camadas: Valor/área e Valor/hab
http://cdb.io/1w5oqei

Quoting Andres MRM (2014-12-05 11:28:34)

Andres MRM

unread,
Dec 5, 2014, 1:34:20 PM12/5/14
to Edgar Zanella Alvarenga, Gastosabertos Dev
Parece que o notebook está dando erro:
http://nbviewer.ipython.org/github/okfn-brasil/gastos_abertos_dados/blob/master/notebooks/Proposta%202015.ipynb

Tem razão o range dos valores é algo importante...

A hierarquia Órgão > Unidade dá para inferir pelos próprios dados, certo?


Quoting Edgar Zanella Alvarenga (2014-12-04 17:06:55)

Edgar Zanella Alvarenga

unread,
Dec 5, 2014, 1:42:39 PM12/5/14
to gastosab...@googlegroups.com
Erro? Está falando do Warning:


/home/walrus/.virtualenvs/py/local/lib/python2.7/site-packages/pandas/io/excel.py:626:
UserWarning: Installed openpyxl is not supported at this time. Use
>=1.6.1 and <2.0.0.
.format(openpyxl_compat.start_ver, openpyxl_compat.stop_ver))

Pois se for disso, isso é só um warning de quando rodei no meu
computador. Detalhe por
causa da versão do openpyxl que tenho aqui, mas não afeta o código. A
idéia do notebook
foi apenas pra mostrar uma abordagem inicial de exploração e
padronização dos dados que
possuímos de forma automática. Se formos utilizar o openspending e
seguir o padrão que
eles utilizam:

https://github.com/openspending/budget-data-package

seria legal ter uma forma eficiente pra geras os jsons e csvs a partir
dos nossos dados.

Edgar

Edgar Zanella Alvarenga

unread,
Dec 5, 2014, 2:01:53 PM12/5/14
to gastosab...@googlegroups.com
Muito bom Andres, só uma dúvida, quasi fontes para as áreas e
população que utilizou?

Edgar

Andres MRM

unread,
Dec 5, 2014, 2:18:05 PM12/5/14
to gastosab...@googlegroups.com, Edgar Zanella Alvarenga
>Muito bom Andres, só uma dúvida, quasi fontes para as áreas e
>população que utilizou?

Vlw! Peguei da prefeitura:
http://www.prefeitura.sp.gov.br/cidade/secretarias/subprefeituras/subprefeituras/dados_demograficos/index.php?p=12758
(que diz usar o IBGE)
(e sim, copiei e colei, não achei uma tabela fácil...)

> Erro? Está falando do Warning:
>
> /home/walrus/.virtualenvs/py/local/lib/python2.7/site-packages/pandas/io/excel.py:626:
> UserWarning: Installed openpyxl is not supported at this time. Use
> >=1.6.1 and <2.0.0.
> .format(openpyxl_compat.start_ver, openpyxl_compat.stop_ver))
>
> Pois se for disso, isso é só um warning de quando rodei no meu
> computador. Detalhe por
> causa da versão do openpyxl que tenho aqui, mas não afeta o código. A
> idéia do notebook
> foi apenas pra mostrar uma abordagem inicial de exploração e
> padronização dos dados que
> possuímos de forma automática. Se formos utilizar o openspending e
> seguir o padrão que
> eles utilizam:
>
> https://github.com/openspending/budget-data-package
>
> seria legal ter uma forma eficiente pra geras os jsons e csvs a partir
> dos nossos dados.

Ah, entendi! =)

Andres MRM

unread,
Dec 13, 2014, 12:02:43 PM12/13/14
to gastosab...@googlegroups.com

Edgar, o Panda não tem nada para abrir ODS? Seria mais legal se consumíssemos
os ODSs que a prefeitura disponibiliza, ao invés dos XLSs, não?


Quoting Andres MRM (2014-12-05 17:18:00)

Edgar Zanella Alvarenga

unread,
Dec 13, 2014, 1:11:52 PM12/13/14
to gastosab...@googlegroups.com
On 13/12/2014 15:02, Andres MRM wrote:
> Edgar, o Panda não tem nada para abrir ODS?

Não possui nada direto, tem que converter pra xls ou csv antes.

> Seria mais legal se consumíssemos os ODSs que a prefeitura
> disponibiliza,
> ao invés dos XLSs, não?

Well, na verdade não vejo muita diferença (e aposto que seja mais
provável
que o arquivo original seja feito em XLS e depois convertido pra ODS),
mas
aposto mais na estabilidade das rotinas de leitura dos xmls usado pelo
Pandas,
dado serem mais utilizadas e eventualmente mais testadas.

Andres MRM

unread,
Dec 13, 2014, 2:23:06 PM12/13/14
to gastosab...@googlegroups.com
Quoting Edgar Zanella Alvarenga (2014-12-13 16:11:51)
> On 13/12/2014 15:02, Andres MRM wrote:
> > Edgar, o Panda não tem nada para abrir ODS?
>
> Não possui nada direto, tem que converter pra xls ou csv antes.
>
> > Seria mais legal se consumíssemos os ODSs que a prefeitura
> > disponibiliza,
> > ao invés dos XLSs, não?
>
> Well, na verdade não vejo muita diferença (e aposto que seja mais
> provável
> que o arquivo original seja feito em XLS e depois convertido pra ODS),
> mas
> aposto mais na estabilidade das rotinas de leitura dos xmls usado pelo
> Pandas,
> dado serem mais utilizadas e eventualmente mais testadas.

Não duvido que seja mais eficiente usarmos o XLS. Mas penso do ponto de vista
"político/pedagógico". Já que o ODS é um padrão aberto e o XLS não. E sempre
dizemos (me refiro aqui ao movimento de dados abertos e de software livre)
para a administração pública fornecer dados em formatos não proprietários, e
quando fazem (o que é muito raro) não usamos. É um pouco contraditório...

Mas não estou querendo "forçar" nada. Só levantar o debate. =P

Talvez fique artificial de mais usarmos o ODS mesmo.
Por outro, lado "garantiríamos" que ele será mantido atualizado.


Ps.: Qual o link do Pad onde você colocou o cronograma?
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "gastosabertos-dev" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para gastosabertos-...@googlegroups.com.
> Para postar neste grupo, envie um e-mail para gastosab...@googlegroups.com.
> Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/gastosabertos-dev/b7b80ffe9b33d3617c1170a367b7cae9%40vaz.io.

Edgar Zanella Alvarenga

unread,
Dec 13, 2014, 3:40:24 PM12/13/14
to gastosab...@googlegroups.com
On 13/12/2014 17:23, Andres MRM wrote:
> Quoting Edgar Zanella Alvarenga (2014-12-13 16:11:51)

> Não duvido que seja mais eficiente usarmos o XLS. Mas penso do ponto
> de vista
> "político/pedagógico". Já que o ODS é um padrão aberto e o XLS não.

Correndo o risco de botar fogo novamente na velha discussão: xls é um
formato "aberto" (?!).

https://en.wikipedia.org/wiki/Office_Open_XML

Mas o processo de aprovação do formato pelo ECMA e ISO foi muito
criticado e existem
uma série de detalhes amargos a todo o processo (chamar de detalhes é
um grande
eufemismo, foi manipulação e corrupção direta do processo):

https://en.wikipedia.org/wiki/Standardization_of_Office_Open_XML

> E sempre dizemos (me refiro aqui ao movimento de dados abertos e de
> software livre)
> para a administração pública fornecer dados em formatos não
> proprietários, e
> quando fazem (o que é muito raro) não usamos. É um pouco
> contraditório...
>
> Mas não estou querendo "forçar" nada. Só levantar o debate. =P
>
> Talvez fique artificial de mais usarmos o ODS mesmo.
> Por outro, lado "garantiríamos" que ele será mantido atualizado.

Eu entendo o ponto, mas se não tivermos uma forma programática de
converter os ODS
diretamente pra um CSV ou algo cabível de ser lido diretamente pelo
Pandas, não acho
que seja nossa prioridade agora. Mas nada que nos impeça de discutirmos
isso ou quem
sabe até sugerir ou iniciar um módulo do Pandas pra leitura direta dos
ODS. Acho que
seria um projeto legal e uma boa contribuição da OKBR.

> Ps.: Qual o link do Pad onde você colocou o cronograma?

https://pad.okfn.org/p/gastosabertos20141212

Andres MRM

unread,
Dec 13, 2014, 6:16:28 PM12/13/14
to gastosab...@googlegroups.com, Edgar Zanella Alvarenga
Quoting Edgar Zanella Alvarenga (2014-12-13 18:40:22)
> On 13/12/2014 17:23, Andres MRM wrote:
> > Quoting Edgar Zanella Alvarenga (2014-12-13 16:11:51)
>
> > Não duvido que seja mais eficiente usarmos o XLS. Mas penso do ponto
> > de vista
> > "político/pedagógico". Já que o ODS é um padrão aberto e o XLS não.
>
> Correndo o risco de botar fogo novamente na velha discussão: xls é um
> formato "aberto" (?!).
>
> https://en.wikipedia.org/wiki/Office_Open_XML
>
> Mas o processo de aprovação do formato pelo ECMA e ISO foi muito
> criticado e existem
> uma série de detalhes amargos a todo o processo (chamar de detalhes é
> um grande
> eufemismo, foi manipulação e corrupção direta do processo):
>
> https://en.wikipedia.org/wiki/Standardization_of_Office_Open_XML

Brazil ABNT: Disapproval

"Orgulho de ser brasileiro!" hahahahaha

> > E sempre dizemos (me refiro aqui ao movimento de dados abertos e de
> > software livre)
> > para a administração pública fornecer dados em formatos não
> > proprietários, e
> > quando fazem (o que é muito raro) não usamos. É um pouco
> > contraditório...
> >
> > Mas não estou querendo "forçar" nada. Só levantar o debate. =P
> >
> > Talvez fique artificial de mais usarmos o ODS mesmo.
> > Por outro, lado "garantiríamos" que ele será mantido atualizado.
>
> Eu entendo o ponto, mas se não tivermos uma forma programática de
> converter os ODS
> diretamente pra um CSV ou algo cabível de ser lido diretamente pelo
> Pandas, não acho
> que seja nossa prioridade agora. Mas nada que nos impeça de discutirmos
> isso ou quem
> sabe até sugerir ou iniciar um módulo do Pandas pra leitura direta dos
> ODS. Acho que
> seria um projeto legal e uma boa contribuição da OKBR.

Bom, maneiras programáticas de fazer isso existem. O ssconvert parece
conseguir converter de ODS para CSV.
E existe uma lib para Python chamada "excel" que abre, entre outras coisas,
ODS:
https://pypi.python.org/pypi/pyexcel-ods3/0.0.4

Mas concordo que o ideal seria implementar isso para o Panda. =)



Dei uma analisada nos ODSs da proposta de 2015. São diferentes e não tem um
jeito de relacionar linha com linha (pelo menos não descobri).
O máximo que parece dar para fazer é filtrar algumas colunas que são
relacionadas e obter dois grupos cujo o montante de dinheiro é igual.
Expliquei melhor na wiki:
https://pt.wikiversity.org/wiki/Gastos_Abertos/Prot%C3%B3tipo
> Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/gastosabertos-dev/b43398dac3ef0f4738540cbadeeea75f%40vaz.io.

Andres MRM

unread,
Dec 13, 2014, 6:19:16 PM12/13/14
to gastosab...@googlegroups.com

Você disse que tinha extraído a receita daquele sistema de +++++++++ via
selenium, onde está o arquivo?
Vou comparar com o XML da receita da câmara.

Edgar Zanella Alvarenga

unread,
Dec 13, 2014, 6:37:34 PM12/13/14
to gastosab...@googlegroups.com
Lendo o livro do Odilon descobri que os códigos dessas receitas dizem
bastante
coisa. Vou ver se acho o "Manual de Despesa Nacional" pra utilizarmos.
Com isso
já seria possível criar um outro tipo de visualização, com os
diferentes tipos e
subtipos das taxas e tributos.
dados.tgz

Andres MRM

unread,
Dec 13, 2014, 6:48:30 PM12/13/14
to gastosab...@googlegroups.com

Comparei pelo que está aqui já:
http://rsv.prefeitura.sp.gov.br/default.aspx?rsview=rpt921ConsultaLivre&Prj=SF8426

Aparentemente os valores no XML deveriam ser iguais aos do sistema de +++++,
mas o XML tem alguns valores negativos... nas receitas. Não parece fazer
sentido para mim.

O XML só tem uma coluna para especificar a receita e mais uma com o código (o
sistema de +++++ tem toda a hierarquia de despesas). Se der para usar esse
código presente no XML e reconstruir a hierarquia de despesas, ele conseguiria
substituir o sistema de ++++++ evitando ter que extrair via selenium.
Talvez tenha alguma tabela com isso...

Nenhum dos dois porém especifica onde a receita vai parar, pensando nas
categorias de fontes que temos na execução. Talvez vá tudo para o tesouro?
Teria que descobrir...

>Lendo o livro do Odilon descobri que os códigos dessas receitas dizem
>bastante coisa. Vou ver se acho o "Manual de Despesa Nacional" pra
>utilizarmos. Com isso já seria possível criar um outro tipo de visualização,
>com os diferentes tipos e subtipos das taxas e tributos.

Legal! =)
Reply all
Reply to author
Forward
0 new messages