En el escrutinio provisorio realizado en la provincia de Santa Fe quedaron sin escrutar 347 mesas.
Desde Opendata Córdoba intentamos proyectar los resultados de las mesas ya escrutadas, sobre estas mesas sin escrutar para tratar de predecir que puede pasar en el recuento definitivo.
El gobierno de la provincia de Santa Fe provee los datos actualizados del escrutinio provisorio en csv.
Los descargamos desde http://elecciones.santafe.gov.ar/descargas
!wget http://elecciones.santafe.gov.ar/bundles/escrutinio/descargas/csv.zip
!unzip csv.zip
Usando pandas preparamos los datos.
import pandas as pd
computados = pd.read_csv('computados.csv')
Calculamos los votos de una mesa "Promedio" por cada seccion, solo los partidos con mas de 5 votos.
pd.set_option('display.max_rows', 2000)
promedio_gob_seccion = pd.pivot_table(computados, index=['nroSeccion', 'nroPartido'], values=['votosGob'])
votos_promedio_seccion = promedio_gob_seccion[promedio_gob_seccion.votosGob > 5]
votos_promedio_seccion
Contamos cuantas mesas sin escrutar quedaron por sección
desestimados= pd.read_csv('desestimados.csv')
mesas_desestimadas_por_seccion = desestimados["nroSeccion"].value_counts()
pendientes = pd.read_csv('pendientes.csv')
mesas_pendientes_por_seccion = pendientes["nroseccion"].value_counts()
Filtramos por los partidos políticos más importantes:
computados = computados[computados.nroPartido.isin(['0004','0005','0006','ANUL','BLAN'])]
secciones_con_mesas_desestimadas = desestimados["nroSeccion"].unique()
computados_en_secciones_con_mesas_desestimadas = computados[computados.nroSeccion.isin(secciones_con_mesas_desestimadas)]
computados_en_secciones_con_mesas_desestimadas.groupby('nombrePartido').votosGob.mean().order(ascending=False)
En promedio, en las secciones con mesas desestimadas, el FRENTE PROGRESISTA CIVICO Y SOCIAL tiene 1.15 votos más que UNION PRO FEDERAL. Lo Cual, si se mantuviera la tendencia, el FRENTE PROGRESISTA CIVICO Y SOCIAL mantendría la ventaja.
computados = computados[computados.nroPartido.isin(['0004','0005','0006','ANUL','BLAN'])]
secciones_con_mesas_pendientes = pendientes["nroseccion"].unique()
computados_en_secciones_con_mesas_pendientes = computados[computados.nroSeccion.isin(secciones_con_mesas_pendientes)]
computados_en_secciones_con_mesas_pendientes.groupby('nombrePartido').votosGob.mean().order(ascending=False)
En promedio, en las secciones con mesas pendientes, el FRENTE PROGRESISTA CIVICO Y SOCIAL tiene 2.18 votos más que UNION PRO FEDERAL. Lo Cual, si se mantuviera la tendencia, el FRENTE PROGRESISTA CIVICO Y SOCIAL mantendría la ventaja.
Multiplicamos la cantidad de mesas no escrutadas por los votos promedios por mesa de cada partido en cada seccion
def por_seccion(prom, sec):
mesas = 0
if sec in mesas_pendientes_por_seccion:
mesas += mesas_pendientes_por_seccion[sec]
if sec in mesas_desestimadas_por_seccion:
mesas += mesas_desestimadas_por_seccion[sec]
return int(prom)*mesas
fpcys = 558352
pro = 556224
fpv = 532156
for row in votos_promedio_seccion.iterrows():
if row[0][1] == "0004":
fpv += por_seccion(row[1], row[0][0])
elif row[0][1] == "0005":
pro += por_seccion(row[1], row[0][0])
elif row[0][1] == "0006":
fpcys += por_seccion(row[1], row[0][0])
print "FPV: %d Votos" % fpv
print "PRO: %d Votos" % pro
print "FPCYS: %d Votos" % fpcys
print "Diferencia a favor del Socialismo: %d" % (fpcys - pro)
@tin_nqn_ Martín Gaitan
@pdelboca Patricio del Boca
@jairotrad Jairo Trad
@frod_f Franco Rodriguez