Skip to content

Commit

Permalink
full_results_table
Browse files Browse the repository at this point in the history
  • Loading branch information
wmentrekin committed Oct 28, 2020
1 parent 5e387e9 commit 31ef150
Show file tree
Hide file tree
Showing 8 changed files with 177 additions and 23 deletions.
77 changes: 77 additions & 0 deletions Model.py
Original file line number Diff line number Diff line change
Expand Up @@ -526,6 +526,83 @@ def write_results():
</HTML>""".format(rows))
file.close()

#Create HTML Table for Projected Flips
flips = []
flips_fields = ['State', '2016 Winner', '2016 Margin', '2020 Projected Winner', '2020 Projected Margin']
flips.append(flips_fields)
flips_rows = []
for state in State.states:
winner_16 = 'Hillary Clinton' if state.election16['D'] > state.election16['R'] else 'Donald Trump'
winner_20 = state.simulations['winner']
if (winner_16 == 'Hillary Clinton' and winner_20 == 'Donald Trump') or (winner_16 == 'Donald Trump' and winner_20 == 'Joe Biden'):
row = []
d_16 = state.election16['D']
r_16 = state.election16['R']
total_16 = state.election16['Total']
margin_16 = round(math.fabs((100 * d_16 / total_16) - (100 * r_16 / total_16)), 2)
margin_20 = state.simulations['margin']
row.append(state.name)
row.append(winner_16)
row.append(margin_16)
row.append(winner_20)
row.append(margin_20)
flips_rows.append(row)
flips_rows = sorted(flips_rows, key=lambda row: row[2] + row[4], reverse = True)
for row in flips_rows:
row[2] = str(row[2]) + '%'
row[4] = str(row[4]) + '%'
for i in range(len(flips_rows)):
flips.append(flips_rows[i])

#Create HTML Table
cols = ["<td>{0}</td>".format( "</td><td>".join(t)) for t in flips]
rows = "<tr>{0}</tr>".format( "</tr>\n<tr>".join(cols))
file = open("tables/flips.html", 'r+')
file.truncate(0)
file.close()
file = open("tables/flips.html", 'w')
file.write("""<HTML> <body>
<h2>Projected Tossup States</h2>
<table>
{0}
</table>
</body>
</HTML>""".format(rows))
file.close()

#Create HTML Table for Full Results
results = []
results_fields = ['State', 'Trump Projected Vote', 'Biden Projected Vote', 'Projected Margin', 'Trump Chance', 'Biden Chance']
results.append(results_fields)
results_rows = []
for state in State.states:
row = []
row.append(state.name)
row.append(str(state.simulations['vote_pct_r']) + '%')
row.append(str(state.simulations['vote_pct_d']) + '%')
row.append(str(state.simulations['margin']) + '%')
row.append(str(state.simulations['win_pct_r']) + '%')
row.append(str(state.simulations['win_pct_d']) + '%')
results_rows.append(row)
for row in results_rows:
results.append(row)

#Create HTML Table
cols = ["<td>{0}</td>".format( "</td><td>".join(t)) for t in results]
rows = "<tr>{0}</tr>".format( "</tr>\n<tr>".join(cols))
file = open("tables/results.html", 'r+')
file.truncate(0)
file.close()
file = open("tables/results.html", 'w')
file.write("""<HTML> <body>
<h2>Full Results</h2>
<table>
{0}
</table>
</body>
</HTML>""".format(rows))
file.close()

#Run Model
def model():

Expand Down
6 changes: 6 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,12 @@ <h2>Average Margin of Victory</h2>
<div class="col">
<div w3-include-html="tables/tossups.html"></div>
</div>
<div class="col">
<div w3-include-html="tables/flips.html"></div>
</div>
<div class="col">
<div w3-include-html="tables/results.html"></div>
</div>
</div>
</div>

Expand Down
Binary file modified results/map.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 16 additions & 16 deletions tables/closest_margins.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
<h2>Closest Projected Margins of Victory</h2>
<table>
<tr><td>State</td><td>Projected Margin</td><td>Projected Winner</td></tr>
<tr><td>Arizona</td><td>0.53%</td><td>Joe Biden</td></tr>
<tr><td>Georgia</td><td>1.18%</td><td>Donald Trump</td></tr>
<tr><td>North Carolina</td><td>1.24%</td><td>Joe Biden</td></tr>
<tr><td>Ohio</td><td>1.24%</td><td>Donald Trump</td></tr>
<tr><td>Nevada</td><td>1.3%</td><td>Joe Biden</td></tr>
<tr><td>Florida</td><td>2.08%</td><td>Joe Biden</td></tr>
<tr><td>Wisconsin</td><td>2.6%</td><td>Joe Biden</td></tr>
<tr><td>Texas</td><td>3.55%</td><td>Donald Trump</td></tr>
<tr><td>Pennsylvania</td><td>4.02%</td><td>Joe Biden</td></tr>
<tr><td>Michigan</td><td>4.1%</td><td>Joe Biden</td></tr>
<tr><td>Iowa</td><td>4.43%</td><td>Donald Trump</td></tr>
<tr><td>North Carolina</td><td>0.03%</td><td>Joe Biden</td></tr>
<tr><td>Arizona</td><td>0.57%</td><td>Joe Biden</td></tr>
<tr><td>Ohio</td><td>1.21%</td><td>Donald Trump</td></tr>
<tr><td>Georgia</td><td>1.23%</td><td>Donald Trump</td></tr>
<tr><td>Nevada</td><td>1.31%</td><td>Joe Biden</td></tr>
<tr><td>Florida</td><td>2.1%</td><td>Joe Biden</td></tr>
<tr><td>Wisconsin</td><td>2.5%</td><td>Joe Biden</td></tr>
<tr><td>Texas</td><td>3.45%</td><td>Donald Trump</td></tr>
<tr><td>Pennsylvania</td><td>3.98%</td><td>Joe Biden</td></tr>
<tr><td>Michigan</td><td>4.09%</td><td>Joe Biden</td></tr>
<tr><td>Iowa</td><td>4.47%</td><td>Donald Trump</td></tr>
<tr><td>Virginia</td><td>4.84%</td><td>Joe Biden</td></tr>
<tr><td>Minnesota</td><td>4.95%</td><td>Joe Biden</td></tr>
<tr><td>New Hampshire</td><td>5.41%</td><td>Joe Biden</td></tr>
<tr><td>South Carolina</td><td>7.6%</td><td>Donald Trump</td></tr>
<tr><td>Alaska</td><td>8.27%</td><td>Donald Trump</td></tr>
<tr><td>Colorado</td><td>9.76%</td><td>Joe Biden</td></tr>
<tr><td>Minnesota</td><td>4.98%</td><td>Joe Biden</td></tr>
<tr><td>New Hampshire</td><td>5.43%</td><td>Joe Biden</td></tr>
<tr><td>South Carolina</td><td>7.48%</td><td>Donald Trump</td></tr>
<tr><td>Alaska</td><td>8.24%</td><td>Donald Trump</td></tr>
<tr><td>Colorado</td><td>9.78%</td><td>Joe Biden</td></tr>
</table>
</body>
</HTML>
13 changes: 13 additions & 0 deletions tables/flips.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<HTML> <body>
<h2>Projected Tossup States</h2>
<table>
<tr><td>State</td><td>2016 Winner</td><td>2016 Margin</td><td>2020 Projected Winner</td><td>2020 Projected Margin</td></tr>
<tr><td>Pennsylvania</td><td>Donald Trump</td><td>0.72%</td><td>Joe Biden</td><td>3.98%</td></tr>
<tr><td>Michigan</td><td>Donald Trump</td><td>0.22%</td><td>Joe Biden</td><td>4.09%</td></tr>
<tr><td>Arizona</td><td>Donald Trump</td><td>3.55%</td><td>Joe Biden</td><td>0.57%</td></tr>
<tr><td>North Carolina</td><td>Donald Trump</td><td>3.66%</td><td>Joe Biden</td><td>0.03%</td></tr>
<tr><td>Florida</td><td>Donald Trump</td><td>1.2%</td><td>Joe Biden</td><td>2.1%</td></tr>
<tr><td>Wisconsin</td><td>Donald Trump</td><td>0.76%</td><td>Joe Biden</td><td>2.5%</td></tr>
</table>
</body>
</HTML>
6 changes: 3 additions & 3 deletions tables/lopsided_margins.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ <h2>Most Lopsided Projected Margins of Victory</h2>
<tr><td>West Virginia</td><td>42.09%</td><td>Donald Trump</td></tr>
<tr><td>Oklahoma</td><td>36.4%</td><td>Donald Trump</td></tr>
<tr><td>North Dakota</td><td>35.78%</td><td>Donald Trump</td></tr>
<tr><td>Massachusetts</td><td>32.52%</td><td>Joe Biden</td></tr>
<tr><td>Massachusetts</td><td>32.43%</td><td>Joe Biden</td></tr>
<tr><td>Hawaii</td><td>32.2%</td><td>Joe Biden</td></tr>
<tr><td>Idaho</td><td>31.79%</td><td>Donald Trump</td></tr>
<tr><td>California</td><td>29.49%</td><td>Joe Biden</td></tr>
<tr><td>California</td><td>29.52%</td><td>Joe Biden</td></tr>
<tr><td>Arkansas</td><td>26.91%</td><td>Donald Trump</td></tr>
<tr><td>Maryland</td><td>26.41%</td><td>Joe Biden</td></tr>
<tr><td>Vermont</td><td>26.4%</td><td>Joe Biden</td></tr>
<tr><td>New York</td><td>25.24%</td><td>Joe Biden</td></tr>
<tr><td>New York</td><td>25.33%</td><td>Joe Biden</td></tr>
<tr><td>Nebraska</td><td>25.02%</td><td>Donald Trump</td></tr>
</table>
</body>
Expand Down
58 changes: 58 additions & 0 deletions tables/results.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<HTML> <body>
<h2>Full Results</h2>
<table>
<tr><td>State</td><td>Trump Projected Vote</td><td>Biden Projected Vote</td><td>Projected Margin</td><td>Trump Chance</td><td>Biden Chance</td></tr>
<tr><td>Alabama</td><td>58.99%</td><td>36.73%</td><td>22.26%</td><td>99.98%</td><td>0.02%</td></tr>
<tr><td>Alaska</td><td>49.96%</td><td>41.72%</td><td>8.24%</td><td>84.29%</td><td>15.71%</td></tr>
<tr><td>Arizona</td><td>46.37%</td><td>46.94%</td><td>0.57%</td><td>44.88%</td><td>55.12%</td></tr>
<tr><td>Arkansas</td><td>60.59%</td><td>33.68%</td><td>26.91%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>California</td><td>31.27%</td><td>60.79%</td><td>29.52%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Colorado</td><td>41.89%</td><td>51.67%</td><td>9.78%</td><td>4.61%</td><td>95.39%</td></tr>
<tr><td>Connecticut</td><td>35.18%</td><td>54.05%</td><td>18.87%</td><td>1.37%</td><td>98.63%</td></tr>
<tr><td>Delaware</td><td>38.55%</td><td>56.15%</td><td>17.6%</td><td>0.45%</td><td>99.55%</td></tr>
<tr><td>District of Columbia</td><td>4.1%</td><td>90.89%</td><td>86.79%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Florida</td><td>45.71%</td><td>47.81%</td><td>2.1%</td><td>34.3%</td><td>65.7%</td></tr>
<tr><td>Georgia</td><td>47.62%</td><td>46.39%</td><td>1.23%</td><td>59.96%</td><td>40.04%</td></tr>
<tr><td>Hawaii</td><td>30.01%</td><td>62.21%</td><td>32.2%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Idaho</td><td>59.29%</td><td>27.5%</td><td>31.79%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Illinois</td><td>38.79%</td><td>55.81%</td><td>17.02%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Indiana</td><td>51.6%</td><td>40.56%</td><td>11.04%</td><td>88.87%</td><td>11.13%</td></tr>
<tr><td>Iowa</td><td>48.96%</td><td>44.49%</td><td>4.47%</td><td>79.31%</td><td>20.69%</td></tr>
<tr><td>Kansas</td><td>52.78%</td><td>39.47%</td><td>13.31%</td><td>95.49%</td><td>4.51%</td></tr>
<tr><td>Kentucky</td><td>57.21%</td><td>36.96%</td><td>20.25%</td><td>97.51%</td><td>2.49%</td></tr>
<tr><td>Louisiana</td><td>58.1%</td><td>38.42%</td><td>19.68%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Maine</td><td>41.13%</td><td>52.26%</td><td>11.13%</td><td>10.44%</td><td>89.56%</td></tr>
<tr><td>Maryland</td><td>33.9%</td><td>60.31%</td><td>26.41%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Massachusetts</td><td>31.12%</td><td>63.55%</td><td>32.43%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Michigan</td><td>44.95%</td><td>49.04%</td><td>4.09%</td><td>18.94%</td><td>81.06%</td></tr>
<tr><td>Minnesota</td><td>43.32%</td><td>48.3%</td><td>4.98%</td><td>9.96%</td><td>90.04%</td></tr>
<tr><td>Mississippi</td><td>56.27%</td><td>40.7%</td><td>15.57%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Missouri</td><td>56.79%</td><td>38.11%</td><td>18.68%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Montana</td><td>53.23%</td><td>41.34%</td><td>11.89%</td><td>89.7%</td><td>10.3%</td></tr>
<tr><td>Nebraska</td><td>58.72%</td><td>33.7%</td><td>25.02%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Nevada</td><td>48.14%</td><td>49.45%</td><td>1.31%</td><td>38.9%</td><td>61.1%</td></tr>
<tr><td>New Hampshire</td><td>44.32%</td><td>49.75%</td><td>5.43%</td><td>17.36%</td><td>82.64%</td></tr>
<tr><td>New Jersey</td><td>38.48%</td><td>54.29%</td><td>15.81%</td><td>0.04%</td><td>99.96%</td></tr>
<tr><td>New Mexico</td><td>40.68%</td><td>51.25%</td><td>10.57%</td><td>1.19%</td><td>98.81%</td></tr>
<tr><td>New York</td><td>33.54%</td><td>58.87%</td><td>25.33%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>North Carolina</td><td>47.32%</td><td>47.35%</td><td>0.03%</td><td>50.28%</td><td>49.72%</td></tr>
<tr><td>North Dakota</td><td>62.99%</td><td>27.21%</td><td>35.78%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Ohio</td><td>47.76%</td><td>46.55%</td><td>1.21%</td><td>56.39%</td><td>43.61%</td></tr>
<tr><td>Oklahoma</td><td>65.31%</td><td>28.91%</td><td>36.4%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Oregon</td><td>39.1%</td><td>50.09%</td><td>10.99%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Pennsylvania</td><td>45.19%</td><td>49.17%</td><td>3.98%</td><td>23.73%</td><td>76.27%</td></tr>
<tr><td>Rhode Island</td><td>38.9%</td><td>54.4%</td><td>15.5%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>South Carolina</td><td>51.24%</td><td>43.76%</td><td>7.48%</td><td>85.4%</td><td>14.6%</td></tr>
<tr><td>South Dakota</td><td>54.11%</td><td>37.19%</td><td>16.92%</td><td>88.61%</td><td>11.39%</td></tr>
<tr><td>Tennessee</td><td>56.59%</td><td>37.53%</td><td>19.06%</td><td>99.33%</td><td>0.67%</td></tr>
<tr><td>Texas</td><td>48.73%</td><td>45.28%</td><td>3.45%</td><td>70.77%</td><td>29.23%</td></tr>
<tr><td>Utah</td><td>45.51%</td><td>27.49%</td><td>18.02%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Vermont</td><td>30.29%</td><td>56.69%</td><td>26.4%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Virginia</td><td>44.4%</td><td>49.24%</td><td>4.84%</td><td>0.0%</td><td>100.0%</td></tr>
<tr><td>Washington</td><td>34.93%</td><td>56.53%</td><td>21.6%</td><td>0.07%</td><td>99.93%</td></tr>
<tr><td>West Virginia</td><td>68.5%</td><td>26.41%</td><td>42.09%</td><td>100.0%</td><td>0.0%</td></tr>
<tr><td>Wisconsin</td><td>46.04%</td><td>48.54%</td><td>2.5%</td><td>25.53%</td><td>74.47%</td></tr>
<tr><td>Wyoming</td><td>68.19%</td><td>21.89%</td><td>46.3%</td><td>100.0%</td><td>0.0%</td></tr>
</table>
</body>
</HTML>
8 changes: 4 additions & 4 deletions tables/tossups.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<h2>Projected Tossup States</h2>
<table>
<tr><td>State</td><td>Trump Projected Chance</td><td>Biden Projected Chance</td></tr>
<tr><td>North Carolina</td><td>49.36%</td><td>50.64%</td></tr>
<tr><td>Arizona</td><td>45.74%</td><td>54.26%</td></tr>
<tr><td>Ohio</td><td>56.37%</td><td>43.63%</td></tr>
<tr><td>Georgia</td><td>59.04%</td><td>40.96%</td></tr>
<tr><td>North Carolina</td><td>50.28%</td><td>49.72%</td></tr>
<tr><td>Arizona</td><td>44.88%</td><td>55.12%</td></tr>
<tr><td>Ohio</td><td>56.39%</td><td>43.61%</td></tr>
<tr><td>Georgia</td><td>59.96%</td><td>40.04%</td></tr>
</table>
</body>
</HTML>

0 comments on commit 31ef150

Please sign in to comment.