Electoral Systems Analysis
Conjunto de funciones asociadas al reparto de representantes de un sistema electoral, dentro del marco implementado por la constitución española de 1978.
Cómo comenzar
Las funciones que contiene este paquete están desarroladas utilizando Python 3.8.
Requirements
Los paquetes que utiliza estas funciones son:
Instalación
pip install electoral-system-analysis
Contenido
Las funciones dentro del paquete electoral-systems-analysis se dividen en tres grupos.
Limpia de datos
Dentro de clean_electoral_data.py se pueden encontrar las diferentes funciones usadas para limpiar los datos de las elecciones generales sacados del ministerio de interior.
Cada proceso electoral tiene su función propia debido a que cada proceso tiene una estructura de datos distinta. Además en muchos casos se ha tenido que hacer un preprocesamiento manual posterior a los resultados de la limpia.
- 2023 Julio: https://docs.google.com/spreadsheets/d/1caYOQNjlfU5ygxCR9EK3ZSCCrGlS7mJxNXMVLWhybzg/edit#gid=1260496320
- 2019 Noviembre: https://docs.google.com/spreadsheets/d/16hnM4m8h453KBpRzQB0FYljixHatGQsvJxLzrKHt16c/edit#gid=838017858
Distribución de escaños por region
En distribution_regions.py encontramos diferentes maneras de repartir los escaños entre las regiones. Por defecto el sistema utiliza la metodología de LOREG.
Distribución de escaños por partído
En distribution_formulas podemos encontrar diferentes fórmulas de reparto de escaños entre partidos como:
- Ley de D'Hondt
dhondt: https://es.wikipedia.org/wiki/Sistema_D%27Hondt - Sainte-Laguë
sainte_lagueysainte_lague_modificado: https://es.wikipedia.org/wiki/M%C3%A9todo_Sainte-Lagu%C3%AB - Cociente de Hare
hare: https://es.wikipedia.org/wiki/Cociente_Hare - Cociente de Droop
droop: https://es.wikipedia.org/wiki/Cociente_Droop - Cociente de Imperiali
imperiali: https://es.wikipedia.org/wiki/Cuota_Imperiali - Cociente de Hagenbach-Bischoff
hagenbach: https://es.wikipedia.org/wiki/Cuota_Hagenbach-Bischoff
Podemos acceder a los diferentes métodos a traves de la función get_distribution_formula mediante las keys que aparecen arriba.
Score de Proporcionalidad
Para medir la proporcionalidad del sistema se ha creado una función que suma el valor absoluto de la diferencia del porcentaje de votos de cada partido y su porcentaje de representantes. Esta suma se la resta a 1, de tal manera que un sistema en el que coincida el porcentaje de votos y de escaños obtendrá una porporcionalidad del 100%.
score_proportionality = 1 - SUM(ABS(votes_percent - representatives_percents))
Este score sirve para poder comparar y detectar aquellos sistemas electorales en donde haya menos relación entre el porcentaje de representantes con los de votos.
Autor
- Santiago Arran Sanz (santhiperbolico)
Metadata
Release files for electoral-system-analysis 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| electoral_system_analysis-1.0.2.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| electoral_system_analysis-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.0 kB
Release files / electoral_system_analysis-1.0.2.tar.gz
| Download URL | electoral_system_analysis-1.0.2.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c00dd24be2072740228049128ff81870bdc19e447b1874ee9bcca2da104137c8
|
|
BLAKE2b-256 checksum How to use checksums |
4abd5c7065c64e225b5010aead5a6e20f6603e3adf72675b504f1aeea8391071
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|
Release files / electoral_system_analysis-1.0.2-py3-none-any.whl
| Download URL | electoral_system_analysis-1.0.2-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49cd3be94a555dbc1f14eb6d8cb7eb495e28de5b2669258da4b946ea253c1a6b
|
|
BLAKE2b-256 checksum How to use checksums |
4f06890574496ad3df432d03bb7378bf237963ef9440aa54878bf0a2989cf9ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|