Número de Ocorrências de Estupro no Brasil 2015–2022
Esta é uma análise exploratória do número de ocorrências de casos de Estupro no Brasil durante o período de 2015 a 2022. A análise foi…
Número de Ocorrências de Estupro no Brasil 2015–2022
Esta é uma análise exploratória do número de ocorrências de casos de Estupro no Brasil durante o período de 2015 a 2022. A análise foi realizada utilizando a linguagem de programação Python. Os dados dos números ocorrências foram obtidos do site gov.br na aba de Segurança Pública. Para a obtenção de informações populacionais, utilizou-se o censo do IBGE de 2022.
Primeiros Passos — Realização da limpeza dos dados: a base de dados da aba de Segurança Pública do gov.br foi disponibilizada em um arquivo Excel com duas páginas, apenas a primeira foi utilizada. Para a exportação e a manipulação dos dados foi utilizado a biblioteca Pandas. Incialmente, as colunas foram renomeadas para que fossem mais fáceis de serem acessadas durante a escrita do código. Nesta fase, foram verificados os dados nulos, duplicados e se todas as unidades federativas do Brasil constavam na base de dados.
#Renomeando coluans
dados = pd.read_excel(url_dados)
dados.columns = ['UF',
'tipo_crime',
'ano',
'mes',
'num_ocorrencias']
#Verificando se todas uf's estão presentes
dados['UF'].unique()
#Verificando número de duplicados e nulos
dados.duplicated().sum()
dados.isnull().sum()
Plotando os Primeiros Gráficos: Constatado que não havia ocorrências de nulos, duplicatas e que todos os Estados e o DF estavam presentes, o dataset foi filtrado para que apenas os números de ocorrências de Estupro fossem apresentadas. Assim, chegamos ao nosso primeiro gráfico, utilizando as bibliotecas seaborn e matplotlib.pylplot.
paleta_roxa = sns.color_palette("rocket", n_colors=len(estupros_por_uf))
plt.figure(figsize=(10,8))
plt.bar(estupros_por_uf.index, height=estupros_por_uf.values, color=paleta_roxa)
plt.title('Número de Casos de Estupros de 2015-2022 por Estado')
plt.ylabel('Número de Ocorrências')
plt.xlabel('Estados')
plt.xticks(rotation=90)
plt.show()

Para possibilitar uma análise mais detalhada, foi habilitado ao leitor, na escrita do código, a possibilidade de escolher uma UF para que fossem gerados gráficos independentes. Apenas de maneira a exemplificar, os gráficos do Estado do Amazonas foram plotados.
estupros_por_ano_uf = dados.copy()
uf_escolhida = 'Amazonas'
estupros_por_ano_uf = estupros_por_ano_uf[estupros_por_ano_uf['tipo_crime']=='Estupro']
escolha_leitor_uf = estupros_por_ano_uf[estupros_por_ano_uf['UF']==uf_escolhida].groupby('ano').sum('num_ocorrencias')
paleta_roxa = sns.color_palette('rocket', n_colors = len(escolha_leitor_uf))
plt.figure(figsize=(10,6))
plt.bar(x=escolha_leitor_uf.index, height=escolha_leitor_uf['num_ocorrencias'], color=paleta_roxa)
plt.title(f'Casos entre 2015-2022 no Estado de {uf_escolhida}')
plt.xlabel('Ano')
plt.ylabel('Número de Ocorrências')
plt.show()

Adicionalmente, foi gerado plot do gráfico ao longo dos meses de cada ano, com o intuito de encontrar padrões como meses maior ou menor de número de ocorrências. Os gráficos de 2015, 2016 e 2022 seguem abaixo.
for i in range(2015,2023):
plt.figure(figsize=(10, 6))
#seleciona o número de casos ocorridos por mês naquele ano
ano = estrupos_por_mes_uf[estrupos_por_mes_uf['ano']==i]['num_ocorrencias']
#seleciona os meses do eixo x
mes = estrupos_por_mes_uf[estrupos_por_mes_uf['ano']==i]['mes']
plt.plot(mes, ano, label=str(i), marker='o')
plt.title(f'Casos no ano de {i} do Estado {escolha_leitor_uf}')
plt.xlabel('Meses')
plt.ylabel('Num. Ocorrências')
plt.grid(True)
plt.legend()
plt.xticks(rotation=45)
plt.show()



Agora um gráfico que reúne a timeline de todos os anos para fins comparativos, aliado ao intuito já mencionado.
plt.figure(figsize=(10, 6))
for i in range(2015,2023):
ano = estrupos_por_mes_uf[estrupos_por_mes_uf['ano']==i]['num_ocorrencias']
mes = estrupos_por_mes_uf[estrupos_por_mes_uf['ano']==i]['mes']
plt.plot(mes, ano, label=str(i), marker='o')
plt.title(f'Casos ao longo dos anos do Estado do {escolha_leitor_uf}')
plt.xlabel('Meses')
plt.ylabel('Num. Ocorrências')
plt.grid(True)
plt.legend()
plt.xticks(rotation=45)

Análise Per Capita: Analisando friamente apenas o primeiro gráfico gerado, será mesmo que São Paulo é o estado que representa maior risco de ocorrência de Estupro para sua população?
Veja que, no primeiro gráfico, temos São Paulo com o maior número de casos registrados de 2015 a 2022. Por outro lado, Acre é o estado com menor ocorrências.
Entretanto, para responder a dúvida que paira o ar, é necessário analisar recorrer aos dados populacionais de cada estado. Para isto, foram utilizados os dados do Censo de 2022 do IBGE.
A base de dados do Censo também passou por um tratamento. Para encurtar, abaixo é apresentado apenas o merge dos dois dataframes.
populacao = pd.read_excel(url_censo_ibge22)
casos = estupros_por_ano_uf.groupby('UF')['num_ocorrencias'].sum().sort_values(ascending=False)
casos_vs_populacao = pd.merge(populacao_22, casos, on='UF', how='inner')
Com os dados populacionais de 2022, podemos verificar o número de ocorrências absolutos e relativos à população, no mesmo ano.


E tcharaaan! Temos nossa resposta, veja que o Acre passa a figurar entre os Estados com maior número de ocorrências per capita, representando assim um estado com maior risco para sua população quando comparado com São Paulo.
Fechamento — A fim de rerratificar as informações obtidas através da Análise Exploratória dos Dados, buscas nos noticiários foram realizadas, abaixo é disponibilizada uma matéria que constata o fato do estado de Roraima ser o mais violento no quesito:
Mulheres de Roraima lutam contra violência no estado com maior taxa de estupro por habitante.
Conclusões:
A Análise Exploratória deste tipo de informação é importante para o subsidiamento de políticas públicas que visam o combate deste crime. Desta maneira, destacar a visualização de dados por unidade federativa pode auxiliar na observação de padrões no número de ocorrências. Por exemplo, de 2015 a 2022, o mês de julho, no estado do Amazonas, registrou alta em 5 dos 8 anos analisados. Além disso, é possível checar visualmente o número de aumento de registro de casos no ano 2022, momento em que aconteceu a retomada de diversas atividades pós-pandemia. Por fim, a análise per capita mostra-se importante pois derruba o mascaramento que os dados absolutos podem apresentar, trazendo à tona um impactante índice de risco.
Link do Notebook Python:
https://colab.research.google.com/drive/1rSV2xYIbd742EUWNyz4_rFtwKxpOEpj7?usp=sharing
Bibliografia:
- Indicadores de Segurança Pública. Disponível em: https://www.gov.br/mj/pt-br/assuntos/sua-seguranca/seguranca-publica/estatistica/download/dnsp-base-de-dados/indicadoressegurancapublicauf_-1.xlsx/view
- Censo IBGE 2022 — População do Brasil e Unidades da Federação. Disponível em: https://www.ibge.gov.br/estatisticas/sociais/trabalho/22827-censo-demografico-2022.html?edicao=35938
- BENTES, VICTORIA. Mulheres de Roraima lutam contra violência no estado com maior taxa de estupro por habitante. Disponível em: www.brasildefato.com.br%2F2023%2F11%2F25%2Fmulheres-de-roraima-lutam-contra-violencia-no-estado-com-maior-taxa-de-estupro-por-habitante%2F
메타데이터
- post_id
- 484f646618c8
- slug
- número-de-ocorrências-de-estupro-no-brasil-2015-2022-484f646618c8
- url
- https://medium.com/@phasantos22/n%C3%BAmero-de-ocorr%C3%AAncias-de-estupro-no-brasil-2015-2022-484f646618c8
- canonical_url
- https://medium.com/@phasantos22/n%C3%BAmero-de-ocorr%C3%AAncias-de-estupro-no-brasil-2015-2022-484f646618c8
- author_url
- https://medium.com/@phasantos22
- status
- ok
- fetched_at
- 2026-08-17 05:44:49