Coleta e facilita a análise de votações nominais do Congresso Nacional
Project description
Branalysis
Biblioteca Python para coletar e analisar votações nominais do Congresso Nacional.
from branalysis.plenario import Camara
from datetime import date
from matplotlib import pyplot as plt
from statistics import mean
ANO = 2023
def calcula_idade(parlamentar):
return (date(ANO, 12, 31) - parlamentar.data_nascimento).days / 365
plenario = Camara(ANO)
# Organiza os partidos por idade média, criando tuplas (partido, idade média)
partido_idade_media = [
(partido, mean(calcula_idade(p) for p in parlamentares))
for partido, parlamentares in plenario.parlamentares_por_partido().items()
]
# Ordena por idade média crescente
partido_idade_media.sort(key=lambda x: x[1])
# Plota o gráfico de barras
barras = plt.bar(*zip(*partido_idade_media))
plt.bar_label(barras, fmt=lambda x: f'{x:.1f}', label_type='edge')
plt.ylabel('Idade média')
plt.xticks(rotation=-45, ha='left')
plt.show()
from branalysis import Camara, MatrizPolitica, Colorizador, CORES
from matplotlib.colors import ListedColormap
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
plenario = Camara(2023)
parlamentares = plenario.parlamentares()
# Cria a matriz de votos dos parlamentares
matriz = MatrizPolitica(parlamentares, plenario.votacoes()).de_parlamentares()
# Aplica a redução de dimensionalidade
modelo = PCA(n_components=2).fit_transform(matriz)
# Cria um colorizador, que mapeia cores para cada partido
colorizador = Colorizador(fallback='MAIS DE UM')
cor_por_parlamentar = [colorizador[p.partidos()] for p in parlamentares]
# Plota o mapa ideológico
grafico = plt.scatter(modelo[:, 0], modelo[:, 1], cmap=ListedColormap(CORES), c=cor_por_parlamentar)
texto_legenda, cores = colorizador.textos_e_cores()
cores_legenda = grafico.legend_elements(num=cores)[0]
plt.legend(cores_legenda, texto_legenda)
plt.show()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
branalysis-1.0.12.tar.gz
(13.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file branalysis-1.0.12.tar.gz.
File metadata
- Download URL: branalysis-1.0.12.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bb849ef43a64513aaa3d62da45df40fd7b1b92188e47a99373648c01cdef7ec
|
|
| MD5 |
9c69e298be818f31210f80eee76a087b
|
|
| BLAKE2b-256 |
e7394bb373dcce7fb0ef93f1e8837c3edffbbb08687fa10a02b6bde54e9c66b6
|
File details
Details for the file branalysis-1.0.12-py3-none-any.whl.
File metadata
- Download URL: branalysis-1.0.12-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05d250135bc9476c9b4160fc5946b636b584b6ea1ff558664d3a9c20c01c2780
|
|
| MD5 |
60d1565d60b691519c34618c1482c9b1
|
|
| BLAKE2b-256 |
d033686449532d6cb50310a1c347e9842c9546176a190ee1d8b0d90d8f2d722d
|