[🇧🇷Português] [🇺🇸English]
📺 Assista em Full HD no You Tube
https://github.com/user-attachments/assets/c34557e8-d1a3-4baa-b995-79b91669b3dd
Este projeto fornece uma análise detalhada dos padrões de votação nas eleições municipais de São Paulo de 2024, com foco no primeiro e segundo turnos das corridas para prefeito e vereador. Ele examina aspectos-chave como comportamento do eleitor, mudanças entre os turnos e variações regionais na taxa de comparecimento dos eleitores.
O conjunto de dados foi **compilado manualmente a partir de fontes oficiais**, inclui mais de 15.000 entradas. Para reunir os dados relevantes, o projeto utilizou técnicas de web scraping, seguidas de limpeza de dados e análise exploratória de dados (EDA). Esses métodos revelam insights valiosos sobre tendências eleitorais e fornecem orientações estratégicas para entender a dinâmica política de São Paulo, que podem informar estratégias eleitorais futuras.
Este trabalho foi desenvolvido como parte do curso de Projeto Integrado e Storytelling no segundo semestre do curso de Ciência de Dados e Inteligência Artificial da PUC-SP em 2024, sob a orientação do renomado Professor ✨ Rooney Ribeiro Albuquerque Coelho
Sua experiência e dedicação inabalável ao ensino desempenharam um papel crucial em aprofundar nossa compreensão tanto de ciência de dados quanto da arte de contar histórias.
Para acessar o Mapa completo, clique no Mapa abaixo:
Acesse o conjunto de dados e explore o dashboard interativo através do link Power BI abaixo, onde você pode usar filtros dinâmicos para obter insights e visualizações detalhadas.
A estrutura está bem organizada, mas fiz algumas sugestões para melhorar a fluidez e a clareza. Veja abaixo a versão revisada:
## 1. Introdução
Este relatório apresenta uma análise detalhada dos dados das eleições municipais de São Paulo de 2024, com foco na distribuição de votos, comportamento do eleitor e o desempenho dos candidatos a prefeito e vereador. Várias visualizações e dashboards são usados para explorar os padrões de votação, tendências emergentes e os fatores que influenciam os resultados eleitorais.
O estudo tem como objetivo entender as dinâmicas eleitorais nas áreas urbanas e periféricas de São Paulo, identificando os fatores que determinam as preferências dos eleitores, como os partidos mais votados, perfis de candidatos e comportamento de voto.
Analisar dados eleitorais é crucial para entender o comportamento do eleitor, as preferências partidárias e as tendências políticas nas diferentes regiões. A visualização de dados oferece uma maneira clara e eficiente de identificar padrões que podem informar campanhas futuras.
Os dados usados neste estudo foram extraídos de fontes públicas, fornecendo informações sobre votos por município, zona eleitoral e partido político. O conjunto de dados inclui detalhes sobre os candidatos a prefeito e vereador em São Paulo, incluindo o número de votos recebidos por cada candidato.
Os seguintes arquivos CSV foram processados:
address_Mayor.csv
Mayor_by_city.csv
Mayor_by_city_round_2.csv
Mayor.csv
address_Councilor.csv
Councilor_by_city.csv
councilor.csv
Aqui está uma visão geral das principais colunas nos arquivos CSV processados:
NM_MUNICIPIO
: Nome do municípioNR_ZONA
: Número da zona eleitoralDS_CARGO_PERGUNTA
: Cargo eleitoral (Prefeito ou Vereador)NM_VOTAVEL
: Nome do candidatoSG_PARTIDO
: Sigla do partidoQT_VOTOS
: Número de votos recebidosA metodologia foi dividida em várias etapas:
A análise exploratória revelou várias tendências interessantes, como:
A distribuição de votos revelou uma grande concentração em São Paulo e áreas urbanas vizinhas. A análise indicou a necessidade de estratégias específicas para as áreas periféricas.
import plotly.express as px
import pandas as pd
# Leitura do conjunto de dados
election = pd.read_csv('/caminho/para/seus/dados.csv', encoding='latin-1')
# Plotando a distribuição de votos por município
fig = px.histogram(election, x="NM_MUNICIPIO", y="QT_VOTOS",
title="Votos por Município",
color_discrete_sequence=["#1f77b4"])
fig.update_layout(bargap=0.2)
fig.show()
### 7.2. Candidatos a Prefeito Mais Votados
Ricardo Nunes (MDB) se destacou nas zonas centrais, enquanto Guilherme Boulos (PSOL) teve forte apoio nas periferias.
```python
# Filtrando candidatos a prefeito
mayor = election[(election["DS_CARGO_PERGUNTA"] == "Prefeito") &
(election["NM_MUNICIPIO"] == "SÃO PAULO") &
(election["SG_PARTIDO"] != "#NULO#")].copy()
# Agrupando e ordenando candidatos por votos
mayor = mayor.groupby(['NM_VOTAVEL', 'SG_PARTIDO']).sum().sort_values("QT_VOTOS", ascending=False)["QT_VOTOS"].reset_index()
# Calculando porcentagens de votos
total_votes = mayor["QT_VOTOS"].sum()
mayor["PERCENTAGE"] = mayor["QT_VOTOS"] / total_votes
# Gráfico de barras
fig = px.bar(mayor, x="NM_VOTAVEL", y="QT_VOTOS", color="SG_PARTIDO",
title="Candidatos a Prefeito Mais Votados",
color_discrete_sequence=px.colors.qualitative.Dark24)
fig.show()
```
### 7.3. Candidatos a Vereador Mais Votados
A distribuição de votos mostrou uma concentração entre os candidatos locais, com destaques para Tabata Amaral (PSB) e Renato Sorriso (PL) nas zonas periféricas.
```python
# Filtrando candidatos a vereador
councilor = election[(election["DS_CARGO_PERGUNTA"] == "Vereador") &
(election["NM_MUNICIPIO"] == "SÃO PAULO") &
(election["SG_PARTIDO"] != "#NULO#")].copy()
# Agrupando e ordenando candidatos por votos
councilor = councilor.groupby(['NM_VOTAVEL', 'SG_PARTIDO']).sum().sort_values('QT_VOTOS', ascending=False)["QT_VOTOS"].reset_index()
# Calculando porcentagens de votos
total_votes = councilor["QT_VOTOS"].sum()
councilor["PERCENTAGE"] = councilor["QT_VOTOS"] / total_votes
# Gráfico de barras
fig = px.bar(councilor, x="NM_VOTAVEL", y="QT_VOTOS", color="SG_PARTIDO",
title="Candidatos a Vereador Mais Votados",
color_discrete_sequence=px.colors.qualitative.Dark24)
fig.show()
```
### 7.4 Candidatos a Prefeito Mais Votados por Zona Eleitoral
As zonas centrais favoreceram Ricardo Nunes, enquanto as zonas periféricas foram dominadas por Guilherme Boulos.
```python
# Dados das zonas e bairros
areas = pd.DataFrame({
"ZONE": [1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 246, 246, 247, 247, 248, 248, 249, 250, 250, 250, 251, 251, 252],
"NEIGHBORHOOD": ["BELA VISTA", "CONSOLACAO", "LIBERDADE", "REPUBLICA", "SE", "BARRA FUNDA", "PERDIZES", "SANTA CECILIA", "BOM RETIRO", "BRAS", "PARI", "AGUA RASA", "BELEM", "MOOCA", "JD PAULISTA"]
})
# Mesclando com dados de prefeitos
merged = mayor.merge(areas, left_on="NR_ZONE", right_on="ZONE")
# Gráfico de barras
fig = px.bar(merged, x="NEIGHBORHOOD", y="QT_VOTES", color="SG_PARTY", title="Prefeito Mais Votado por Zona")
fig.show()
```
### 7.5 Most Voted Councilors by Electoral Zone
The analysis revealed candidates like Márcio Chagas (PSOL) and Luana Almeida (PL) performing well in suburban areas.
```python
# Analyzing most voted councilors by electoral zone
areas = pd.DataFrame({
"ZONE": [1, 1, 1, 2, 2, 3, 3, 4, 5, 6],
"NEIGHBORHOOD": ["BELA VISTA", "CONSOLACAO", "LIBERDADE", "MOOCA", "CAMPO BELO", "ITAQUERA", "CID DUTRA", "PIRITUBA", "VILA PRUDENTE", "TATUAPE"]
})
# Merging councilor data
councilor_merged = councilor.merge(areas, left_on="NR_ZONE", right_on="ZONE")
# Bar chart
fig = px.bar(councilor_merged, x="NEIGHBORHOOD", y="QT_VOTES", color="SG_PARTY", title="Most Voted Councilor by Zone")
fig.show()
```
### 8.5 Dashboard 5: Voting Comparison Between 2020 and 2024 Elections
A comparação entre as duas eleições revelou mudanças significativas nas preferências eleitorais, com o PSOL ganhando força nas periferias.
```python
# Dashboard para votação por faixa etária
df = pd.read_csv('votes_by_age_group.csv')
fig = px.pie(df, names="age_group", values="votes", title="Voting by Age Group")
fig.show()
```
## 9. Conclusion
A análise dos dados das eleições municipais de São Paulo de 2024 forneceu valiosas percepções sobre o comportamento do eleitor e as tendências emergentes. Observou-se um aumento da polarização política, com o PSOL ganhando força nas áreas periféricas e o MDB mantendo uma base sólida nas áreas urbanas centrais. Além disso, a análise revelou uma mudança nas preferências eleitorais, com um crescente apoio a partidos mais progressistas, especialmente entre os eleitores mais jovens e das classes sociais mais baixas.
A análise dos gráficos e dashboards possibilitou uma compreensão mais detalhada da distribuição dos votos por geografia, desempenho dos candidatos por zona eleitoral e segmentação dos votos por partido e perfil demográfico. As tendências observadas sugerem que as campanhas eleitorais futuras devem focar em estratégias mais segmentadas, considerando as características sociais e econômicas de cada região.
### Recomendações para campanhas futuras:
- **Personalizar a comunicação eleitoral** para diferentes regiões, considerando os perfis demográficos e socioeconômicos.
- **Aproveitar o crescimento das redes sociais** e outras plataformas digitais para se conectar com eleitores mais jovens e aqueles com acesso limitado aos meios de comunicação tradicionais.
- **Ajustar as propostas de campanha** de acordo com questões locais como segurança, saúde e educação, que foram fatores decisivos para votos em várias zonas periféricas.
## 10. Material Extra
- **🇺🇸 Relatório de Análise de Dados**: [Clique 🔗](https://github.com/Mindful-AI-Assistants/SP2024-Election-Analysis/blob/77ee8d3319a14c05ae6d3b023e0a4101ec5e2943/Data%20Analysing%20Report/%F0%9F%87%BA%F0%9F%87%B8Data%20Analysing%20Report.pdf)
- **🇧🇷 Relatório de Análise de Dados**: [Clique 🔗](https://github.com/Mindful-AI-Assistants/SP2024-Election-Analysis/blob/9ab39e27ff0f2e8444b7c773ec309986d073ad92/Data%20Analysing%20Report/%F0%9F%87%A7%F0%9F%87%B7Analise%20do%20Dados%20Relatoirio.pdf)
- **Link de Acesso ao Power BI**: [Clique 🔗](https://app.powerbi.com/view?r=eyJrIjoiNTNmY2Y2YzgtODY3Yy00M2ViLWI0NDItMTdiZDJlNTg4Zjk2IiwidCI6IjhlYjI5MjAxLWEyN2QtNDMwMi04NDczLWM5ODJlYjViZTkzNSJ9)
- **Arquivo do Power BI**: [Clique 🔗](https://github.com/Mindful-AI-Assistants/SP2024-Election-Analysis/blob/8c71e68c34ccfd2c14ff3ecb8d0f7558bcbe109d/Power%20B%20I%20Files/DashBoard.pbix)
- **QR Code**:
Escaneie o código para acessar os dados e visualizações no Power BI.
Voltar ao topo # #####
Copyright 2025 Mindful-AI-Assistants. Código liberado sob a [Licença MIT.](https://github.com/Mindful-AI-Assistants/.github/blob/ad6948fdec771e022d49cd96f99024fcc7f1106a/LICENSE)