In [112]:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from lxml import html
import requests as req
from locale import *

In [113]:
dat = []
for p in range(1, 112):
    url = "http://apps.ariquemes.ro.gov.br/transparencia/funcionarios?page=%s" % p
    page = req.get(url)
    tree = html.fromstring(page.content)
    raw = tree.xpath("//tr")
    N = len(raw)
    for i in range(1, N):
        r = []
        for it in raw[i]:
            r.append(it.text)
        dat.append(r)

In [114]:
dx = dat
for d in dx:
    if d[6] == None:
        d[6] = 0.0
    else:
        d[6] = float(d[6].replace(".","").replace(",", "."))

In [136]:
df = pd.DataFrame(dx, columns=["empresa", "matricula", "nome", "vinculo", "cargo", "lotacao", "salario"])
df = df[df.salario > 0]

In [137]:
cargos = np.unique(df.cargo)
resul = []
for cargo in cargos:
    resul.append([cargo, len(df[df.cargo == cargo])])

In [138]:
resul


Out[138]:
[['ASSESSOR T. ESPECIAL CDS-05-A', 14],
 ['AUXILIAR DE ENFERMAGEM', 1],
 ['Administrador D. de Bom Futuro', 1],
 ['Agente  de Mautencao I', 15],
 ['Agente Administrativo', 1],
 ['Agente Comunitario PACS', 98],
 ['Agente Comunitario de Saude', 2],
 ['Agente Educacional', 1],
 ['Agente Infra - Estrutura I', 25],
 ['Agente Operacional I', 12],
 ['Agente Operacional II', 29],
 ['Agente Operacional de Saude', 9],
 ['Agente de Conservação', 9],
 ['Agente de Gestao Escolar', 40],
 ['Agente de Gestao Publica', 79],
 ['Agente de Infra - Estrutura II', 6],
 ['Agente de Manutencao II', 10],
 ['Agente de Servico Escolar', 324],
 ['Agente de Serviço', 177],
 ['Agente de Transporte Escolar', 48],
 ['Agente de Vigilancia', 17],
 ['Asses. Técnico Nivel III', 1],
 ['Assessor Especial I  CDS 08', 1],
 ['Assessor Especial II CDS - 06', 12],
 ['Assessor Especial III CDS - 04', 8],
 ['Assessor Especial IV CDS - 03', 30],
 ['Assessor Especial V CDS - 02', 35],
 ['Assessor Especial VI CDS - 01', 29],
 ['Assessor Juridico CDS 07', 3],
 ['Assessor Tecnico Nivel II', 8],
 ['Assessoria A. Obras Publicas', 1],
 ['Assistente Social', 1],
 ['Assistente da Saude', 70],
 ['Chefe De Gabinete', 1],
 ['Chefe de N. Executivo CDS - 10', 1],
 ['Conselheiro Tutelar', 5],
 ['D. Div. C. Apoio. Psicossocial', 1],
 ['DIR.DE COMUNICAÃ\x87Ã\x83O SOCIAL', 1],
 ['Dir.Div.Prog. Saude da Familia', 1],
 ['Dir.de Finança.e Cont.Publica', 1],
 ['Diretor D. Centro Odontologico', 1],
 ["Diretor D. U. Saude Setor 02'", 1],
 ['Diretor D. U. Saude Setor 05', 1],
 ['Diretor D. U. Saude Setor 06', 1],
 ['Diretor D. U. Saude Setor 09', 1],
 ['Diretor Geral CDS - 05', 1],
 ['Diretor de Atenção Basica', 1],
 ['Diretor de D. de U. P. da Gema', 1],
 ['Diretor de Pavimentação', 1],
 ['Diretor de Serviços Publicos', 1],
 ['Diretora de Receita Municipal', 1],
 ['Diretoria Executiva', 1],
 ['ESPECIALISTA DA SAUDE I-20 H', 2],
 ['ESTAGIÃ\x81RIO ', 165],
 ['Enfermeiro (a)', 2],
 ['Engenheiro', 4],
 ['Engenheiro Agronomo', 1],
 ['Especialista da S. II - 40 hs', 59],
 ['Especialista da S. II 20 Horas', 3],
 ['Especialista da Saude I', 80],
 ['Fiscal De Tributos', 1],
 ['Fiscal Municipal', 31],
 ['Ger. de Atividades Urbanas ', 1],
 ['Ger. de Gestão de Cemiterios', 1],
 ['Ger. de Inf. e Estatistica ', 1],
 ['Ger. de Obras e Conservaçoes', 1],
 ['Ger.Conv.e Prest.Cont.Conveni ', 1],
 ['Ger.Red.Sup.e Banco de Dados ', 1],
 ['Ger.Reg.Aval.e Cont. da Saude', 1],
 ['Ger.de Ensino Fundamental', 1],
 ['Ger.de Inclusão Digital ', 1],
 ['Ger.do Prog.Saude.Rural', 1],
 ['Gerente Executivo CDS - 04', 1],
 ['Gerente Trabalho e Emprego ', 1],
 ['Gerente de Apoio ao Educando ', 1],
 ['Gerente de Areas Verdes ', 1],
 ['Gerente de Ensino Infantil ', 1],
 ['Gerente de Garegem e Oficina', 1],
 ['Gerente de Insp. Sanitaria ', 1],
 ['Gerente de Planejamento', 1],
 ['Gerente de Vigilan. Sanitaria ', 1],
 ['Gerente de Vigilancia em Saude', 1],
 ['Guarda Municipal', 47],
 ['MEDICO CLINICO GERAL', 1],
 ['Membro da CPL CDS - 03', 2],
 ['Merendeira', 1],
 ['Motorista Veiculos Leves', 1],
 ['Ouvidor Municipal CDS 06', 1],
 ['PROCURADOR GERAL CDS - 11', 1],
 ['PROF.CL.C 40 HS', 2],
 ['Prefeito Municipal', 1],
 ['Presidente da CPL CDS -  06', 1],
 ['Presidente da FUNCEL', 1],
 ['Procurador', 4],
 ['Prof.Pdg.Hab.Ed.Inf.30hrs', 29],
 ['Prof.Pedag.Series I. 30 hrs', 28],
 ['Professor 20 Horas', 212],
 ['Professor 25 Horas', 1],
 ['Professor 30 Horas', 1],
 ['Professor 40 Horas', 551],
 ['Professor Cl. Unica 20 Hs', 3],
 ['Professor Classe Un 40 Hs', 1],
 ['Sec. Mun.de Desenv.Social ', 1],
 ['Sec.Mun.Agric.Ind.e Comercio', 1],
 ['Sec.Mun.Obras e Serv.Publicos ', 1],
 ['Sec.Mun.Plan.Orç.e Gestão ', 1],
 ['Sec.Mun.de Seg.e Transito ', 1],
 ['Secretaria Mun. de Governo', 1],
 ['Secretario Mun. de Saude. ', 1],
 ['Secretario Mun.de Educação ', 1],
 ['Secretario Mun.de Meio Ambien ', 1],
 ['Tecnico Em Enfermagem', 4],
 ['Tecnico Nivel Medio', 12],
 ['Tecnico Nivel Superior', 12],
 ['Tecnico da Saude I', 92],
 ['Tecnico da Saude II', 4],
 ['Tecnico de Controle Interno', 1],
 ['Tecnico de D. Escolar', 3],
 ['Tecnico de Gestao Publica', 1],
 ['Telefonista', 1],
 ['Vice-prefeito', 1]]

In [148]:
dfa = df[df.cargo == "Professor 40 Horas"]

In [150]:
plt.hist(dfa.salario, bins = 25)


Out[150]:
(array([   1.,    0.,    0.,    0.,    0.,    0.,    1.,   10.,   42.,
          29.,  103.,   93.,   56.,   36.,   28.,   40.,   34.,   29.,
          15.,   14.,    9.,    2.,    6.,    2.,    1.]),
 array([  189.18  ,   505.1472,   821.1144,  1137.0816,  1453.0488,
         1769.016 ,  2084.9832,  2400.9504,  2716.9176,  3032.8848,
         3348.852 ,  3664.8192,  3980.7864,  4296.7536,  4612.7208,
         4928.688 ,  5244.6552,  5560.6224,  5876.5896,  6192.5568,
         6508.524 ,  6824.4912,  7140.4584,  7456.4256,  7772.3928,  8088.36  ]),
 <a list of 25 Patch objects>)

In [190]:
N = 1e6
y = np.random.alpha(3,0.5, N)
plt.hist(y, bins = 100)
plt.show()


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-190-be1349883221> in <module>()
      1 N = 1e6
----> 2 y = np.random.alpha(3,0.5, N)
      3 plt.hist(y, bins = 100)
      4 plt.show()

AttributeError: module 'numpy.random' has no attribute 'alpha'

In [ ]: