Skip to content

Instantly share code, notes, and snippets.

@rumatavz
Last active September 29, 2021 21:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rumatavz/b806781b25db93be2890cf6aa556d8fd to your computer and use it in GitHub Desktop.
Save rumatavz/b806781b25db93be2890cf6aa556d8fd to your computer and use it in GitHub Desktop.
import requests
from requests.auth import HTTPDigestAuth
import json
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
import math
from requests.auth import HTTPBasicAuth
import pyodbc
import datetime
from pymongo import MongoClient
from scipy import stats
import matplotlib.pyplot as plt
from datetime import datetime, timedelta
import matplotlib.pyplot as plt
import matplotlib.dates as dates
connLive = pyodbc.connect('Driver={PostgreSQL Unicode(x64)}; Database=voting;Uid=postgres;Pwd=')
cursor = connLive.cursor()
cursor.execute("""SELECT payload -> 'voters' voter_id
FROM public.transactions
where method_id = 1
order by block_height, position_in_block""")
votersRaw = [v.voter_id for v in cursor.fetchall()]
votersArr = [item for sublist in votersRaw for item in json.loads(sublist)]
actualVotersRaw = pd.read_sql_query("""select payload ->> 'voter_id' voter_id, payload ->> 'district_id' district_id, datetime
FROM public.transactions
where method_id = 4
order by block_height, position_in_block""", connLive)
actualVoters2 = actualVotersRaw.copy()
actualVoters2 = actualVoters2.set_index("voter_id")
voterRegistrations = pd.DataFrame()
voterRegistrations["voter_id"] = votersArr
voterRegistrations["reg_order_num"] = voterRegistrations.index
voterRegistrations = voterRegistrations.set_index("voter_id")
voterRegistrations['voted'] = voterRegistrations.index.isin(actualVoters2.index)
voterRegistrations['bin'] = pd.cut(voterRegistrations['reg_order_num'],100)
voterRegistrationsGrouped = voterRegistrations.groupby('bin').sum()
plt.plot([x.left for x in voterRegistrationsGrouped.index], voterRegistrationsGrouped['voted'] / (len(voterRegistrations.index)/100))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment