{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

\"FT

\n", "

Saint Paul (MN) City Council Election Voting Report:
\n", " The Case for Systemic Voter Suppression; 10/05/19

\n", "

By Frogtown Crusader (Abu Nayeem)

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Table of contents \n", "\n", "* [Brief Introduction](#intro)\n", "* [About Saint Paul Open Data Initiative](#opendata)\n", "* [Reader Note](#reader)\n", "* [Section I: Data Analysis](#sect1)\n", " * [About Data](#aboutdata)\n", " * [Data Assumptions](#data_assumption)\n", " * [Voter Age Demographics](#demo)\n", " * [Voting Trends](#trend)\n", " * [Youth/ Ward Votes](#youth)\n", " * [Density Votes](#density)\n", " * [Precinct Analysis: Fragmentation](#precinct)\n", " * [Ward 1](#ward1)\n", " * [Ward 2](#ward2)\n", " * [Ward 3](#ward3)\n", " * [Ward 4](#ward4)\n", " * [Ward 5](#ward5)\n", " * [Ward 6](#ward6)\n", " * [Ward 7](#ward7)\n", "* [Section II: Qualitative Analysis](#sect2)\n", " * [Why do local elections matter?](#local_matter)\n", " * [Why is there systemic voter supression?](#why_suppress)\n", " * [How does the system persist?](#how_suppress)\n", "* [Section III: Solutions](#sect3)\n", " * [Policy Recommendations](#policy)\n", " * [Campaign Solutions: Citizen-First Campaign](#campaign)\n", "* [NEXT STEPS!](#final)\n", "* [Run Code](#code)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Brief Introduction \n", "\n", "In this report, I will be using Minnesota Voting Data/Records to show insight on the 2015 Saint Paul city council elections as well to illustrate systemic inequities. As part of the Saint Paul Open-Data Project, the coding will be accessible. The report will be broken to three primary sections.\n", "\n", "1. **Data Analysis [Informational]**: Include voting rate for different elections, Ward analysis, Youth voter rate, and Precinct fragmentation analysis\n", "2. **Qualitative Analysis**: I provide an explanation on the results, and make a case of systemic voter suppression\n", "3. **Solutions**: Provide some policy solutions, and my campaign platform: **The Citizen-First Campaign,** which centers on empowering citizens, educating public, and creating self-sustaining systems.\n", "\n", "**Disclaimer:** I am running for Saint Paul city council for Ward 1 (election on November 5th, 2019). One core feature of the Citizen-First campaign is to educate citizens about current systemic inequities and local issues so we can work on them together. I have decided to create an open data report for all of Saint Paul (not just my Ward), so citizens and candidates throughout the city have discussions on systematic voter suppression, and take active actions in addressing it. Please take the time to read, and be part of the solution. Power to the people. #power2people\n", "\n", "The report is a call to action, the last two sections have strong opinions." ] }, { "cell_type": "markdown", "metadata": { "heading_collapsed": true }, "source": [ "### Saint Paul Open Data Initiative \n", "\n", "This initiative focuses on taking public information/data from municipalities and organizations to create interactive reports and analysis to better inform and assist community members to take action. This is an open-source project meaning that all coding is accessible to everyone, and thus there is transparency on the results. It is currently all python-based. As always, I encourage other programmers and developers to participate in making this more accessible. You can learn more information on the project [Github](https://github.com/sustainabu/OpenData_Saint_Paul) page as well as accessing documents.\n", "\n", "Unlike my previous reports, the Minnesota voting records is not publicly available, but is publicly accessible. I will not provide the raw data on the project page as it contains sensitive personal information, you can contact the Minnesota Secretary of State for the voting records [here](https://www.sos.state.mn.us/media/2641/registered-voter-list-request-form.pdf), which also includes the columns provided. \n", "\n", "\n", "**If you use any material/graphs from the report, please give credit to me and the project**\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reader's Note \n", "\n", "There are a few questions that I want you to consider when reviewing the data analysis:\n", "\n", "1. Why does our local elections matter?\n", "2. Who benefits from the current system and who doesn't? \n", "3. What can we do about it?\n", "\n", "Here are some FACTS (i.e. data results) from the 2015 City Council Elections to get you motivated to read further\n", "\n", "\"Drawing\"\n", "\n", "* During the last presidential election, registered voter turnout was 78%, while the 2015 city council election ranged from 9% to 18%.\n", "* Despite younger adults being the largest demographic, it is the senior citizens who vote disproportionately more. \n", "* The 18-20 age group voting percentage of the 2015 city council election is 1% \n", "* 18 out of 95 precincts are under-respresentated (greater than 2% points). See Map Below\n", "* For registered voters living in high density (> 9 people), the voting rate was around 10%, and respectively 17% for low-density voters. \n", "\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Section I: Data Analysis " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### About the Data: \n", "\n", "The data is taken from Minnesota voting records and the data was current of 6/24/2019 as indicated in the picture below. There are two datasets in the CD: Voter profile and Voting Records. This is the bare basic voting information obtained from the state that it is utilized by most campaigns. In addition, I got geojson file for my map [here](https://www.sos.state.mn.us/election-administration-campaigns/data-maps/geojson-files/)\n", "\n", "\"Drawing\"\n", "\n", "\n", "### Background: \n", "\n", "As a Saint Paul resident, I am represented by different layers of governance, whom I can vote for during an election. The layers of governance can be broken down to four categories: Federal, State, County, and Local. **Only the local city election occur during the odd calendar years**. The other government roles have the elections on even years and the available open seats are staggered. In Saint Paul, the city council elections shares the staggered term of the school board. The Saint Paul City Council member term is four years and is not staggered. In contrast, the sister city, Minneapolis, has the mayoral and city council election occurs at the same time calendar year, which will be used for comparison.\n", "\n", "The last four more major elections in Saint Paul:\n", "\n", "* 2018: Governor, Senator\n", "* 2017: Mayor, School\n", "* 2016: Presidential \n", "* 2015: City Council, School\n", "\n", "All of these governmental bodies are interconnected providing services/representing citizens directly. Within Saint Paul’s Ward 1, there are 4 state representatives, 3 county commissioners, and 3 state senators. In other words, there is considerable overlap between agencies based on living location. The Saint Paul city council is the legislative board of the city, totaling 7 council members for each Ward, which holds roughly 41,000 people respectively. The ward can be further broken down even further into non-elected district planning councils that represent neighborhoods areas, and serve an essential role for the city's comprehensive development plan. \n", "\n", "\"Drawing\"\n", "\n", "From the map above, we can see there is potential **fragmentation**, where certain pockets of a neighborhood may be isolated. I will be implementing a precinct analysis, to find which precincts are under-represented compared to surrounding precincts in the ward. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data Assumptions: \n", "\n", "**Assumptions:** \n", "The raw data contains the records of registered voters, so there might be some voters whom that have not registered within and/or outside Saint Paul. In addition, some voters may likely be deceased (i.e. there are 120 year olds), and their voter information has not been removed from the records. In both cases, the numbers are negligible and substantial data cleaning is unnecessary for this report.\n", "\n", "Methodology:\n", "\n", "1) **Time Sensitivity on Registered Voters:** It is sensitive to time, especially within the last three years. Time sensitivity is less for older populations as there is numerous years giving accurate number on the total potentional registered voters. It is recommended to do a youth analysis, after at least one major federal/state elections \n", "\n", "2) **Finding the approximate age of registered voters:** For each registered voter, the year for date of birth was provided, which was used to determine their relative age. The actual age is important for 18 year olds, as they are not able to vote if they turn 18 after a general election, so they have 1/6 less representation\n", "\n", "3) **Finding the number of potential registered voters at a given election year:** This is done through a post-hoc method where I take the voter registration of succeeding elections to determine the number of people in the age group that could have voted. This is similar to the time sensitivity\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Age/Voter Demographics: \n", "\n", "First, let’s explore the age demographic relationship between Saint Paul and Minneapolis as these two cities are closely connected. From the plots below, we see that Minneapolis has greater concentration of younger voters than Saint Paul, and the total number of voters are higher in general. For both cities, the younger adults make up the bulk of voting population.\n", "\n", "\"Drawing\"\n", "\n", "\"Drawing\"\n", "\n", "When plotting the age distribution of each wards in Saint Paul, Ward 3 differed considerably from all the other wards as demonstrated below. \n", "\n", "\"Drawing\"\n", "\n", "Finally, if we break down voter registration by ward, we see that Ward 3 has the most registered voters with around 50% more registered voters than Ward 5 & 6 respectively. Ward 3 has considerable influence in impacting the mayor election. \n", "\n", "\"Drawing\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Voting Trends: \n", "\n", "As explained in the Background section, local elections are only during the odd years. As many would expect, the turnout is low for local elections\n", "\n", "\"Drawing\"\n", "\n", "The following graph below compares participation on city council election of Saint Paul and Minneapolis.\n", "\n", "\"Drawing\"\n", "\n", "Finally, the graph below plots the voter participation rate by age group. Notice, the Saint Paul young adult participation is low despite being the larger demographic and Minneapolis has considerable voter turnout for their local election, which is probably directly related to having the mayoral and city council election at the same time.\n", "\n", "\"Drawing\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward/Youth Vote: \n", " \n", "From the following tables below we see the voting and youth participation significantly less for the city council election in comparison to the presidential election. The competitive wards, highlighted in yellow, have greater voter turnout. Though Ward 3 had a moderate turnout despite not being a competitive race. Note: I used Google Sheet because it has conditional color formating. \n", "\n", "\"Drawing\"\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Density Voting Rate: \n", "\n", "Is there differences in voting rate based on density, and what is the magnitude across the wards? First let's breakdown the number of residences of certain sizes and see if the voting rate varies by density. We can see the voting rate is lowest rate is lowest for medium size residential buildings. \n", "\n", "\"Drawing\"\n", "\n", "For this analysis, I create an artifical cutoff of 10 residents or more at an address as high density, and less than that as low density. The H_density% is the number of registered voters that live in high density housing. Note: When changing the density cutoff the voting percentage by around +/- 0.5% with greater density is lower voting rate than smaller density. Also when I significantly change the cutoff over 40, the high density vote% increase by 2%. This indicates that there may be a lower voting rate for mid-size apartment. \n", "\n", "\"Drawing\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Precinct Analysis: Fragmentation \n", "\n", "The maps have considerable implications, so I will explain the methodology in more detail. This calculations assumes that each precinct should vote at equal rate in comparison to neighboring precincts. For each precinct, I create three column calculations:\n", "\n", "* **Projected Weight:** (The total registered voters on precinct) / (The total registered voters within Ward)\n", "* **Actual Weight:** (The total actual votes on precinct) / (The total actual voters within Ward)\n", "* **Representation:** (Actual Weight) - (Projected Weight)\n", "\n", "Ideally, the projected weight and actual weight should be near zero across precincts, so pay attention to the range of participation in the maps below. A precinct can be over-represented because a certain precinct votes in greater frequency than other precincts and/or precincts have been excluded from participation. Finally, there is typically less registered voters in lower-income and immigrant communities. If we incorporate this, the projected weights for those precincts will be greater and the **_under-representation is higher_** in those precincts than displayed. \n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 1 Precinct Analysis \n", "\n", "\"Drawing\"\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
01.0Saint Paul W-1 P-1279.0112624.7815.5410.2927.445.4310.585.15
11.0Saint Paul W-1 P-1035.04427.9215.165.978.272.131.33-0.80
21.0Saint Paul W-1 P-11123.0106711.5342.3612.8310.575.154.66-0.49
31.0Saint Paul W-1 P-1266.032820.1232.3214.1522.971.582.500.92
41.0Saint Paul W-1 P-13175.0113515.4227.0510.1017.395.476.641.17
51.0Saint Paul W-1 P-14126.092513.6228.6524.919.094.464.780.32
61.0Saint Paul W-1 P-1537.07005.2911.576.175.173.381.40-1.98
71.0Saint Paul W-1 P-1631.023513.198.510.0014.421.131.180.05
81.0Saint Paul W-1 P-2268.0204613.1032.706.4316.349.8710.160.29
91.0Saint Paul W-1 P-3174.017929.719.881.6910.598.646.60-2.04
101.0Saint Paul W-1 P-4137.0129610.571.395.5610.646.255.20-1.05
111.0Saint Paul W-1 P-5144.0127511.296.674.7111.766.155.46-0.69
121.0Saint Paul W-1 P-6331.0264512.519.728.1712.9812.7512.55-0.20
131.0Saint Paul W-1 P-7264.0144418.2815.723.9620.956.9610.013.05
141.0Saint Paul W-1 P-8269.0210412.7953.9910.4815.5010.1510.200.05
151.0Saint Paul W-1 P-9178.021778.1812.174.538.6810.506.75-3.75
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "0 1.0 Saint Paul W-1 P-1 279.0 1126 24.78 15.54 \n", "1 1.0 Saint Paul W-1 P-10 35.0 442 7.92 15.16 \n", "2 1.0 Saint Paul W-1 P-11 123.0 1067 11.53 42.36 \n", "3 1.0 Saint Paul W-1 P-12 66.0 328 20.12 32.32 \n", "4 1.0 Saint Paul W-1 P-13 175.0 1135 15.42 27.05 \n", "5 1.0 Saint Paul W-1 P-14 126.0 925 13.62 28.65 \n", "6 1.0 Saint Paul W-1 P-15 37.0 700 5.29 11.57 \n", "7 1.0 Saint Paul W-1 P-16 31.0 235 13.19 8.51 \n", "8 1.0 Saint Paul W-1 P-2 268.0 2046 13.10 32.70 \n", "9 1.0 Saint Paul W-1 P-3 174.0 1792 9.71 9.88 \n", "10 1.0 Saint Paul W-1 P-4 137.0 1296 10.57 1.39 \n", "11 1.0 Saint Paul W-1 P-5 144.0 1275 11.29 6.67 \n", "12 1.0 Saint Paul W-1 P-6 331.0 2645 12.51 9.72 \n", "13 1.0 Saint Paul W-1 P-7 264.0 1444 18.28 15.72 \n", "14 1.0 Saint Paul W-1 P-8 269.0 2104 12.79 53.99 \n", "15 1.0 Saint Paul W-1 P-9 178.0 2177 8.18 12.17 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "0 10.29 27.44 5.43 10.58 5.15 \n", "1 5.97 8.27 2.13 1.33 -0.80 \n", "2 12.83 10.57 5.15 4.66 -0.49 \n", "3 14.15 22.97 1.58 2.50 0.92 \n", "4 10.10 17.39 5.47 6.64 1.17 \n", "5 24.91 9.09 4.46 4.78 0.32 \n", "6 6.17 5.17 3.38 1.40 -1.98 \n", "7 0.00 14.42 1.13 1.18 0.05 \n", "8 6.43 16.34 9.87 10.16 0.29 \n", "9 1.69 10.59 8.64 6.60 -2.04 \n", "10 5.56 10.64 6.25 5.20 -1.05 \n", "11 4.71 11.76 6.15 5.46 -0.69 \n", "12 8.17 12.98 12.75 12.55 -0.20 \n", "13 3.96 20.95 6.96 10.01 3.05 \n", "14 10.48 15.50 10.15 10.20 0.05 \n", "15 4.53 8.68 10.50 6.75 -3.75 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==1')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 2 Precinct Analysis (Competitive) \n", "\n", "\"Drawing\"\n", "\n", "[Additional Map Link](https://www.ramseycounty.us/sites/default/files/Elections%20and%20Voting/Maps/Saint%20Paul%20maps/Saint%20Paul%202019%20maps/Saint%20Paul%20Ward%202_5.25.pdf)\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
162.0Saint Paul W-2 P-1434.0157127.6318.976.7132.526.048.892.85
172.0Saint Paul W-2 P-11351.0284112.3599.1612.2129.1710.937.19-3.74
182.0Saint Paul W-2 P-13347.0150023.1323.6715.7725.415.777.101.33
192.0Saint Paul W-2 P-14304.0166918.215.035.9518.866.426.22-0.20
202.0Saint Paul W-2 P-15290.0257411.2712.748.2311.719.905.94-3.96
212.0Saint Paul W-2 P-2450.0165327.2216.8211.1530.476.369.212.85
222.0Saint Paul W-2 P-3446.0257117.3522.365.0420.899.899.13-0.76
232.0Saint Paul W-2 P-4298.0151919.6230.488.8624.345.846.100.26
242.0Saint Paul W-2 P-5524.0232322.5615.8010.3524.858.9310.731.80
252.0Saint Paul W-2 P-6104.060317.2573.8015.7321.522.322.13-0.19
262.0Saint Paul W-2 P-7375.0219417.0950.9610.2024.268.447.68-0.76
272.0Saint Paul W-2 P-8157.0121112.9683.2412.0017.734.663.21-1.45
282.0Saint Paul W-2 P-9367.0199818.3795.8018.5514.297.687.51-0.17
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "16 2.0 Saint Paul W-2 P-1 434.0 1571 27.63 18.97 \n", "17 2.0 Saint Paul W-2 P-11 351.0 2841 12.35 99.16 \n", "18 2.0 Saint Paul W-2 P-13 347.0 1500 23.13 23.67 \n", "19 2.0 Saint Paul W-2 P-14 304.0 1669 18.21 5.03 \n", "20 2.0 Saint Paul W-2 P-15 290.0 2574 11.27 12.74 \n", "21 2.0 Saint Paul W-2 P-2 450.0 1653 27.22 16.82 \n", "22 2.0 Saint Paul W-2 P-3 446.0 2571 17.35 22.36 \n", "23 2.0 Saint Paul W-2 P-4 298.0 1519 19.62 30.48 \n", "24 2.0 Saint Paul W-2 P-5 524.0 2323 22.56 15.80 \n", "25 2.0 Saint Paul W-2 P-6 104.0 603 17.25 73.80 \n", "26 2.0 Saint Paul W-2 P-7 375.0 2194 17.09 50.96 \n", "27 2.0 Saint Paul W-2 P-8 157.0 1211 12.96 83.24 \n", "28 2.0 Saint Paul W-2 P-9 367.0 1998 18.37 95.80 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "16 6.71 32.52 6.04 8.89 2.85 \n", "17 12.21 29.17 10.93 7.19 -3.74 \n", "18 15.77 25.41 5.77 7.10 1.33 \n", "19 5.95 18.86 6.42 6.22 -0.20 \n", "20 8.23 11.71 9.90 5.94 -3.96 \n", "21 11.15 30.47 6.36 9.21 2.85 \n", "22 5.04 20.89 9.89 9.13 -0.76 \n", "23 8.86 24.34 5.84 6.10 0.26 \n", "24 10.35 24.85 8.93 10.73 1.80 \n", "25 15.73 21.52 2.32 2.13 -0.19 \n", "26 10.20 24.26 8.44 7.68 -0.76 \n", "27 12.00 17.73 4.66 3.21 -1.45 \n", "28 18.55 14.29 7.68 7.51 -0.17 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==2')" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 3 Precinct Analysis \n", "\n", "\"Drawing\"" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
293.0Saint Paul W-3 P-1399.0198620.093.375.9720.587.198.080.89
303.0Saint Paul W-3 P-10257.0144617.774.982.7818.565.245.20-0.04
313.0Saint Paul W-3 P-11157.019098.2270.469.964.086.913.18-3.73
323.0Saint Paul W-3 P-12330.0174518.9112.662.2621.336.326.680.36
333.0Saint Paul W-3 P-13389.0181221.4719.9219.6721.926.567.881.32
343.0Saint Paul W-3 P-14656.0351618.666.1424.0718.3012.7313.280.55
353.0Saint Paul W-3 P-2522.0241121.657.185.7822.888.7310.571.84
363.0Saint Paul W-3 P-3413.0265515.5623.059.6417.339.628.36-1.26
373.0Saint Paul W-3 P-4281.0121623.1136.9221.6023.994.405.691.29
383.0Saint Paul W-3 P-5261.0190113.7355.4412.7114.996.885.28-1.60
393.0Saint Paul W-3 P-6339.0209316.209.567.0017.177.586.86-0.72
403.0Saint Paul W-3 P-7178.093319.0831.838.4224.063.383.600.22
413.0Saint Paul W-3 P-8319.0154620.635.371.2021.745.606.460.86
423.0Saint Paul W-3 P-9438.0244317.9315.239.6819.418.858.870.02
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "29 3.0 Saint Paul W-3 P-1 399.0 1986 20.09 3.37 \n", "30 3.0 Saint Paul W-3 P-10 257.0 1446 17.77 4.98 \n", "31 3.0 Saint Paul W-3 P-11 157.0 1909 8.22 70.46 \n", "32 3.0 Saint Paul W-3 P-12 330.0 1745 18.91 12.66 \n", "33 3.0 Saint Paul W-3 P-13 389.0 1812 21.47 19.92 \n", "34 3.0 Saint Paul W-3 P-14 656.0 3516 18.66 6.14 \n", "35 3.0 Saint Paul W-3 P-2 522.0 2411 21.65 7.18 \n", "36 3.0 Saint Paul W-3 P-3 413.0 2655 15.56 23.05 \n", "37 3.0 Saint Paul W-3 P-4 281.0 1216 23.11 36.92 \n", "38 3.0 Saint Paul W-3 P-5 261.0 1901 13.73 55.44 \n", "39 3.0 Saint Paul W-3 P-6 339.0 2093 16.20 9.56 \n", "40 3.0 Saint Paul W-3 P-7 178.0 933 19.08 31.83 \n", "41 3.0 Saint Paul W-3 P-8 319.0 1546 20.63 5.37 \n", "42 3.0 Saint Paul W-3 P-9 438.0 2443 17.93 15.23 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "29 5.97 20.58 7.19 8.08 0.89 \n", "30 2.78 18.56 5.24 5.20 -0.04 \n", "31 9.96 4.08 6.91 3.18 -3.73 \n", "32 2.26 21.33 6.32 6.68 0.36 \n", "33 19.67 21.92 6.56 7.88 1.32 \n", "34 24.07 18.30 12.73 13.28 0.55 \n", "35 5.78 22.88 8.73 10.57 1.84 \n", "36 9.64 17.33 9.62 8.36 -1.26 \n", "37 21.60 23.99 4.40 5.69 1.29 \n", "38 12.71 14.99 6.88 5.28 -1.60 \n", "39 7.00 17.17 7.58 6.86 -0.72 \n", "40 8.42 24.06 3.38 3.60 0.22 \n", "41 1.20 21.74 5.60 6.46 0.86 \n", "42 9.68 19.41 8.85 8.87 0.02 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==3')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 4 Precinct Analysis (Competitive) \n", "\n", "\"Drawing\"" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
434.0Saint Paul W-4 P-1417.0158226.3617.648.6030.166.408.502.10
444.0Saint Paul W-4 P-10447.0196122.798.267.4124.187.939.111.18
454.0Saint Paul W-4 P-11492.0212823.1215.7414.6324.718.6110.031.42
464.0Saint Paul W-4 P-12185.0167911.0259.024.7420.066.793.77-3.02
474.0Saint Paul W-4 P-13258.0133619.3117.4420.6019.045.415.26-0.15
484.0Saint Paul W-4 P-14291.0139520.864.230.0021.785.645.930.29
494.0Saint Paul W-4 P-15292.0150019.478.132.4620.976.075.95-0.12
504.0Saint Paul W-4 P-2478.0126437.828.3140.0037.625.119.754.64
514.0Saint Paul W-4 P-3182.022817.9873.705.1216.009.233.71-5.52
524.0Saint Paul W-4 P-4362.0175220.667.137.2021.707.097.380.29
534.0Saint Paul W-4 P-5278.0125322.199.104.3923.975.075.670.60
544.0Saint Paul W-4 P-6147.0110213.3443.562.5021.704.463.00-1.46
554.0Saint Paul W-4 P-7405.0171423.6315.344.5627.086.948.261.32
564.0Saint Paul W-4 P-8401.0212918.8413.344.2321.088.618.18-0.43
574.0Saint Paul W-4 P-9270.0163916.4733.4421.5313.936.635.50-1.13
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "43 4.0 Saint Paul W-4 P-1 417.0 1582 26.36 17.64 \n", "44 4.0 Saint Paul W-4 P-10 447.0 1961 22.79 8.26 \n", "45 4.0 Saint Paul W-4 P-11 492.0 2128 23.12 15.74 \n", "46 4.0 Saint Paul W-4 P-12 185.0 1679 11.02 59.02 \n", "47 4.0 Saint Paul W-4 P-13 258.0 1336 19.31 17.44 \n", "48 4.0 Saint Paul W-4 P-14 291.0 1395 20.86 4.23 \n", "49 4.0 Saint Paul W-4 P-15 292.0 1500 19.47 8.13 \n", "50 4.0 Saint Paul W-4 P-2 478.0 1264 37.82 8.31 \n", "51 4.0 Saint Paul W-4 P-3 182.0 2281 7.98 73.70 \n", "52 4.0 Saint Paul W-4 P-4 362.0 1752 20.66 7.13 \n", "53 4.0 Saint Paul W-4 P-5 278.0 1253 22.19 9.10 \n", "54 4.0 Saint Paul W-4 P-6 147.0 1102 13.34 43.56 \n", "55 4.0 Saint Paul W-4 P-7 405.0 1714 23.63 15.34 \n", "56 4.0 Saint Paul W-4 P-8 401.0 2129 18.84 13.34 \n", "57 4.0 Saint Paul W-4 P-9 270.0 1639 16.47 33.44 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "43 8.60 30.16 6.40 8.50 2.10 \n", "44 7.41 24.18 7.93 9.11 1.18 \n", "45 14.63 24.71 8.61 10.03 1.42 \n", "46 4.74 20.06 6.79 3.77 -3.02 \n", "47 20.60 19.04 5.41 5.26 -0.15 \n", "48 0.00 21.78 5.64 5.93 0.29 \n", "49 2.46 20.97 6.07 5.95 -0.12 \n", "50 40.00 37.62 5.11 9.75 4.64 \n", "51 5.12 16.00 9.23 3.71 -5.52 \n", "52 7.20 21.70 7.09 7.38 0.29 \n", "53 4.39 23.97 5.07 5.67 0.60 \n", "54 2.50 21.70 4.46 3.00 -1.46 \n", "55 4.56 27.08 6.94 8.26 1.32 \n", "56 4.23 21.08 8.61 8.18 -0.43 \n", "57 21.53 13.93 6.63 5.50 -1.13 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==4')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 5 Precinct Analysis (Competitive) \n", "\n", "\"Drawing\"" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
585.0Saint Paul W-5 P-1485.0198924.3811.168.5626.3710.4314.283.85
595.0Saint Paul W-5 P-1047.06197.5912.7620.255.743.251.38-1.87
605.0Saint Paul W-5 P-2916.0241137.997.1821.9739.2312.6426.9714.33
615.0Saint Paul W-5 P-3627.0200331.3012.6313.4433.8910.5018.467.96
625.0Saint Paul W-5 P-4466.0342613.6028.204.5517.1517.9613.72-4.24
635.0Saint Paul W-5 P-5181.0177510.2027.7711.169.839.315.33-3.98
645.0Saint Paul W-5 P-6195.0178310.944.822.3311.379.355.74-3.61
655.0Saint Paul W-5 P-7112.0111910.013.4917.959.725.873.30-2.57
665.0Saint Paul W-5 P-8219.022979.5320.552.7511.2912.046.45-5.59
675.0Saint Paul W-5 P-9148.016528.962.664.559.088.664.36-4.30
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "58 5.0 Saint Paul W-5 P-1 485.0 1989 24.38 11.16 \n", "59 5.0 Saint Paul W-5 P-10 47.0 619 7.59 12.76 \n", "60 5.0 Saint Paul W-5 P-2 916.0 2411 37.99 7.18 \n", "61 5.0 Saint Paul W-5 P-3 627.0 2003 31.30 12.63 \n", "62 5.0 Saint Paul W-5 P-4 466.0 3426 13.60 28.20 \n", "63 5.0 Saint Paul W-5 P-5 181.0 1775 10.20 27.77 \n", "64 5.0 Saint Paul W-5 P-6 195.0 1783 10.94 4.82 \n", "65 5.0 Saint Paul W-5 P-7 112.0 1119 10.01 3.49 \n", "66 5.0 Saint Paul W-5 P-8 219.0 2297 9.53 20.55 \n", "67 5.0 Saint Paul W-5 P-9 148.0 1652 8.96 2.66 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "58 8.56 26.37 10.43 14.28 3.85 \n", "59 20.25 5.74 3.25 1.38 -1.87 \n", "60 21.97 39.23 12.64 26.97 14.33 \n", "61 13.44 33.89 10.50 18.46 7.96 \n", "62 4.55 17.15 17.96 13.72 -4.24 \n", "63 11.16 9.83 9.31 5.33 -3.98 \n", "64 2.33 11.37 9.35 5.74 -3.61 \n", "65 17.95 9.72 5.87 3.30 -2.57 \n", "66 2.75 11.29 12.04 6.45 -5.59 \n", "67 4.55 9.08 8.66 4.36 -4.30 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==5')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 6 Precinct Analysis \n", "\n", "\"Drawing\"" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
686.0Saint Paul W-6 P-1165.0137012.044.235.1712.357.408.541.14
696.0Saint Paul W-6 P-10115.097711.7713.9221.3210.235.285.960.68
706.0Saint Paul W-6 P-11192.0162711.801.8413.3311.778.799.941.15
716.0Saint Paul W-6 P-2244.0123619.744.8511.6720.156.6812.645.96
726.0Saint Paul W-6 P-3195.0149313.062.412.7813.328.0710.102.03
736.0Saint Paul W-6 P-4169.018679.0515.433.1210.1310.098.75-1.34
746.0Saint Paul W-6 P-5200.020529.753.310.0010.0811.0910.36-0.73
756.0Saint Paul W-6 P-6186.023917.784.563.677.9812.929.63-3.29
766.0Saint Paul W-6 P-770.062311.2426.1625.776.093.373.630.26
776.0Saint Paul W-6 P-8129.015118.5418.6614.897.088.166.68-1.48
786.0Saint Paul W-6 P-9163.022397.2810.141.327.9512.108.44-3.66
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "68 6.0 Saint Paul W-6 P-1 165.0 1370 12.04 4.23 \n", "69 6.0 Saint Paul W-6 P-10 115.0 977 11.77 13.92 \n", "70 6.0 Saint Paul W-6 P-11 192.0 1627 11.80 1.84 \n", "71 6.0 Saint Paul W-6 P-2 244.0 1236 19.74 4.85 \n", "72 6.0 Saint Paul W-6 P-3 195.0 1493 13.06 2.41 \n", "73 6.0 Saint Paul W-6 P-4 169.0 1867 9.05 15.43 \n", "74 6.0 Saint Paul W-6 P-5 200.0 2052 9.75 3.31 \n", "75 6.0 Saint Paul W-6 P-6 186.0 2391 7.78 4.56 \n", "76 6.0 Saint Paul W-6 P-7 70.0 623 11.24 26.16 \n", "77 6.0 Saint Paul W-6 P-8 129.0 1511 8.54 18.66 \n", "78 6.0 Saint Paul W-6 P-9 163.0 2239 7.28 10.14 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "68 5.17 12.35 7.40 8.54 1.14 \n", "69 21.32 10.23 5.28 5.96 0.68 \n", "70 13.33 11.77 8.79 9.94 1.15 \n", "71 11.67 20.15 6.68 12.64 5.96 \n", "72 2.78 13.32 8.07 10.10 2.03 \n", "73 3.12 10.13 10.09 8.75 -1.34 \n", "74 0.00 10.08 11.09 10.36 -0.73 \n", "75 3.67 7.98 12.92 9.63 -3.29 \n", "76 25.77 6.09 3.37 3.63 0.26 \n", "77 14.89 7.08 8.16 6.68 -1.48 \n", "78 1.32 7.95 12.10 8.44 -3.66 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==6')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ward 7 Precinct Analysis \n", "\n", "\"Drawing\"" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WardPrecinctTot_VoteTot_RegVote%H_Dens%H_Dens_Vote%L_Dens_Vote%Pro_WeightAct_WeightRepresentation
797.0Saint Paul W-7 P-1191.020509.3211.076.179.7110.4110.730.32
807.0Saint Paul W-7 P-10106.013767.702.3318.757.446.995.96-1.03
817.0Saint Paul W-7 P-1163.012055.2361.913.757.636.123.54-2.58
827.0Saint Paul W-7 P-12266.0256510.3732.515.7612.5913.0214.941.92
837.0Saint Paul W-7 P-13244.0186213.1021.4311.0313.679.4613.714.25
847.0Saint Paul W-7 P-271.012475.691.684.765.716.333.99-2.34
857.0Saint Paul W-7 P-396.014206.761.270.006.857.215.39-1.82
867.0Saint Paul W-7 P-475.08948.3912.9812.937.714.544.21-0.33
877.0Saint Paul W-7 P-5253.0134818.7719.8821.6418.066.8514.217.36
887.0Saint Paul W-7 P-793.011907.8222.6911.856.636.045.22-0.82
897.0Saint Paul W-7 P-8137.016728.1912.681.429.188.497.70-0.79
907.0Saint Paul W-7 P-9103.015086.835.900.007.267.665.79-1.87
\n", "
" ], "text/plain": [ " Ward Precinct Tot_Vote Tot_Reg Vote% H_Dens% \\\n", "79 7.0 Saint Paul W-7 P-1 191.0 2050 9.32 11.07 \n", "80 7.0 Saint Paul W-7 P-10 106.0 1376 7.70 2.33 \n", "81 7.0 Saint Paul W-7 P-11 63.0 1205 5.23 61.91 \n", "82 7.0 Saint Paul W-7 P-12 266.0 2565 10.37 32.51 \n", "83 7.0 Saint Paul W-7 P-13 244.0 1862 13.10 21.43 \n", "84 7.0 Saint Paul W-7 P-2 71.0 1247 5.69 1.68 \n", "85 7.0 Saint Paul W-7 P-3 96.0 1420 6.76 1.27 \n", "86 7.0 Saint Paul W-7 P-4 75.0 894 8.39 12.98 \n", "87 7.0 Saint Paul W-7 P-5 253.0 1348 18.77 19.88 \n", "88 7.0 Saint Paul W-7 P-7 93.0 1190 7.82 22.69 \n", "89 7.0 Saint Paul W-7 P-8 137.0 1672 8.19 12.68 \n", "90 7.0 Saint Paul W-7 P-9 103.0 1508 6.83 5.90 \n", "\n", " H_Dens_Vote% L_Dens_Vote% Pro_Weight Act_Weight Representation \n", "79 6.17 9.71 10.41 10.73 0.32 \n", "80 18.75 7.44 6.99 5.96 -1.03 \n", "81 3.75 7.63 6.12 3.54 -2.58 \n", "82 5.76 12.59 13.02 14.94 1.92 \n", "83 11.03 13.67 9.46 13.71 4.25 \n", "84 4.76 5.71 6.33 3.99 -2.34 \n", "85 0.00 6.85 7.21 5.39 -1.82 \n", "86 12.93 7.71 4.54 4.21 -0.33 \n", "87 21.64 18.06 6.85 14.21 7.36 \n", "88 11.85 6.63 6.04 5.22 -0.82 \n", "89 1.42 9.18 8.49 7.70 -0.79 \n", "90 0.00 7.26 7.66 5.79 -1.87 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_15.query('Ward==7')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "map_2015_SP_CityCouncilRepresentation_byPrecinct(7)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Section II: Qualitative Analysis \n", "\n", "The goal of the report is to get Saint Paul residents to be civically engaged, especially disenfranchised persons. I argue that the data analysis presented show clear evidence of **systematic voter suppression**, where the vast majority of citizens are not represented and/or engaged in local elections. Prior to addressing the solutions, we should understand the root of the problem, so it is informative to explain:\n", "\n", "* why it matters to citizens? \n", "* why is there systemic voter suppression?\n", "* why does our system continue to function the way?\n", "\n", "My analysis is going to be critical, which means some people may feel uncomfortable and defensive. In any existing hierarchical power structure, there are currently people benefiting from the system. If you are a beneficiary, acknowledge your own privilege (i.e. ability to influence) and seek to share that power/influence to others and/or for some cases step down/forfeit that power. The solution that I advocate for is not about replacing one power structure with another, but building a structure that is more decentralized and inclusive. Leaders will serve everyone rather than a selective group, and residents will have greater agency in influencing community decisions. \n", "\n", "> As former Minnesotan politician, Paul Wellstone, stated, \"We all do better when we all do better\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Why do local elections matter? \n", "\n", "**Local Issues Matter!:** \n", "\n", "City politics have direct impacts on our daily lives directly that includes housing, community safety, roads, parks, youth opportunities, and economic development. Nothing more needs to be said.\n", "\n", "**Post-Partisan World:** \n", "\n", "Our current political climate is hyper-partisan, where our elected officials at the state and federal level vote along party lines. This could be carried over at the local level. Fortunately, in the United States, **both the county and local elections are non-partisan**, which means community members can form a consensus without aligning to any political party. Under these circumstances, I advocate for post-partisanship, which focuses on building relationships with community members and creating active dialogue to build feasible and reasonable solutions. Local politics can enable the process for citizens to communicate, advocate, and learn from each other. It is important that we have leaders that are willing to reach out to everyone, including persons that share different values than them. These local leaders can then move to state and federal offices, emulating these principles. The principles of postpartisan illustrated by Mark Satin, editor of Radical Middle Newsletter is below:\n", "\n", "\"Drawing\"\n", "\n", "**Gateway to Civic Engagement:**\n", "\n", "Citizens have the greatest influence in power at the local level AND they can see the impact of their advocacy more directly. Once they realize their power, they can extend involvement to the county, state, and federal level. As discussed in the background section, citizens are represented by many overlapping agencies. If citizens can effectively communicate and develop their positions at the local level, these skills can be utilized in the larger geographical regions which contain citizens outside the local municipality. Case in point (I’ll limit to two legislative acts):\n", "* The passage for the MN HealthCare for All bill will reduce healthcare costs for businesses, city administration, and residents.\n", "* A state-sponsored referendum to allow ranked-choice voting at the state level can allow an independent third party (i.e. such as People Party) to have a legitimate chance winning\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Why is there systemic voter suppression? \n", "\n", "\n", "It's simply desirable for the respective official/party in power. In Saint Paul, the dominant political party is the Democratic Farmer Labor (DFL) party [equivalent to the Democrat party]. To maintain party dominance, they give endorsements to local candidates giving them massive advantage with access to financial resources and comprehensive data on potential voters (beyond those provided by me), but need to abide by their rules, donors, and senior leadership wishes. The \"election\" is often determined during the party endorsement process. During the last DFL city council endorsement process, [there were alleged tampering of votes by some candidates.](https://www.twincities.com/2019/05/25/why-does-the-st-paul-dfl-endorse-candidates-for-nonpartisan-city-races/?fbclid=IwAR0K3fcxhh6_6waouX_9BnDIdis0I2_Fr_Z2TkAcsS_hvYME1lpxHHd85BI). For the current city council Saint Paul city council election, some DFL endorsed candidates have [funding over 100,000 and paid staff.](https://www.ramseycounty.us/residents/elections-voting/candidates/campaign-finance/campaign-finance-reports/2019-campaign-finance-reports) \n", "\n", "> I would like to ask the reader, do you know who your state representative and/or Minnesota state senator is? If not, why is it so? \n", "\n", "Honestly, I don't know much at the state level because there is no vested interest because I, like other citizens, will vote along party lines, due to ignorance and/or animosity toward the other political party. Citizens are not given the choice to appoint party leaders that actually represent their values. As a result, citizens are uninformed about what is happening in state politics, and it allows greater influence from the donors, corporations, and special interest class. From the dominant party’s perspective, it’s counterproductive to educate existing party members as it opens up to more criticism. In addition, further outreach to citizens that are not already affiliated with the party is discouraged, as it will likely invigorate their opposition. For bipartisan races, the party's goal is to get the their allies to vote for them, rather than be engaged in the process. The general rule of thumb is that the less transparent an administration is, the less people know, and thus less reasons to vote against the party. A recent two year study/field experiments from Yale University of over 2,300 state legislators have shown that [politicians do not care/respond to what constituents want](https://www.nytimes.com/2019/07/11/opinion/politicians-voters.html) \n", "\n", "Finally, elections are functionally a zero-sum game, where the \"winner\" takes all (i.e. Us versus Them). Thus, the conventional wisdom of political campaigning is reaching out to people that have voted in the past, spend resources in getting swing voters to your side, getting your supporters out to vote, AND depressing voter turnout of your opposition. If there is a dominant political group/candidate within a geographical space, the respective candidate has no incentive to reach out to that minority group. In addition, for re-election purposes it is best to serve the constituents/donors/special interests that got them elected than the entire community. The precinct fragmentation map shows which selective precincts have considerably more influence in selecting our local leaders. \n", "\n", "> Power is not shared, it’s taken from someone else and distributed to the victors \n", "\n", "This creates an antagonistic relationship between different identity groups, which can be especially problematic when multiple disenfranchised identities are competing against each other. In other words, our current system encourages conflict and tribalism.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How does this system persist? \n", "\n", "As explained above, there is no desire for the beneficiaries of the dominant party/system to get citizens authentically engaged. Though there are some mechanisms perpetuate this; I will briefly go over a __few__ explanations (without a social-class analysis): \n", "\n", "**Education/ Youth/ Renters:**\n", "\n", "> “Knowledge is power, and withholding knowledge is a tool for all oppressive systems” - Marianne Williamson (Democratic Presidential Candidate) \n", "\n", "When I ask young adults, “why do they not vote in local elections?”, the response is almost always the same, “It doesn’t matter”. That is a **_myth_** that has been perpetuated by our education system, adults, and media alike. High school civics class (if offered) does not teach about our local and state government. A vast majority of political entertainment/media focuses on national politics. Colleges don’t promote the significance of local civic engagement. There is no serious get out the vote campaign during local elections. Renters do not feel invested in their community as they are temporarily staying in a location. In summary, society does not encourage young people to be locally engaged, and offer them few opportunities to contribute authentically. \n", "\n", "**Personal: Cynicism**\n", "\n", "> The antidote to despair is hope.\n", "\n", "When citizens become aware of the inherent inequities of the system, it is a common response for some principled persons to become non-participatory. This can be due to a variety of reasons, but they ultimately forfeit their power to others [depressing the vote is a common candidate strategy].\n", "\n", "**Poverty as an Excuse:**\n", "\n", "In the precinct analysis, the lower income precincts are under-represented in the local elections. When I asked several local politicians why this is the case, they will use poverty as an excuse for lack of participation and outreach. How do we expect a community to lift themselves if we are not giving them self-agency and resources to succeed? Prominent civil rights leader, Malcolm X, spoke about communities of color to be self-sufficient in providing their own needs and service, which builds stronger relationship within the community as well as building knowledge/skills. Ultimately, people need to feel invested in improving their own community conditions. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Section III: Solutions: \n", "\n", "There are many solutions that can be implemented to improve voter turnout/engagement in the local city council elections, including policy and changing party/political structures." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Policy Recommendations \n", "\n", "**1) Saint Paul city council and mayor elections should be held in the same year**\n", "\n", "By default, the mayoral election can bring more citizens to vote for the city council, as can be seen in Minneapolis. Even though the mayoral election turnout is not representative of the voting base, it will create considerable dialogue about local politics. I would recommend the mayor agreeing to do a two-year term and then a four-year term, so both offices are aligned.\n", "\n", "Some potential drawbacks/ significant changes of the proposal is that the strategy of the mayoral and local elections will change. The school board elections during the non local-election can be impacted.\n", "\n", "Another alternative to election timing is to have county elections during the same year as city council elections. The services provided by the city and county are closely related. Though moving county elections away from the even years may decrease voter turnout. \n", "\n", "**2) Increase the number of council members and/or changing ward boundaries**\n", "\n", "From the precinct analysis map, there are some precincts that have much greater influence than their neighboring precincts. We can increase the number of wards, creating a more representative city council. For convenience, let's say there are nine wards, which means each ward would hold roughly 32,000 people. The ward boundaries can then be carved to better represent similar minded neighborhoods\n", "\n", "Similar to the first recommended solution, it does not the address the fundamental reasons why there is a lack of engagement in city politics in the first place; so the same type of behavior will be implemented even in an expanded ward. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Campaign/Party Based Solutions: Citizen-First Campaign \n", "\n", "The Citizen First Campaign focuses on empowering the residents. This can be done by informing/educating citizen on the issues, offer forums for authentic conversation, and challenge our expectations on civic engagement. We should create systems/software that facilitate civic engagement, and embolden existing community leaders. In relation to this report, I will explain how the campaign will address the concerns brought up earlier by me. I will provide brief answers as I'll be learning as I go.\n", "\n", "#### 1) How do you get disenfranchised persons to vote/civically engaged?\n", "\n", "For effective outreach, we need to understand different groups of people and what do they care about. The key groups of people within Saint Paul are parents, young people, renters, immigrants, people of color, and college students. In general, my platform aims to educate why local elections matter to them and remove the barriers/obstacles to get them involved. \n", "\n", "> “Civic engagement is community engagement with a purpose” - David (Frogtown Resident)\n", "\n", "Traditional community/public engagement from organization is often one-sided where information is just extracted from community members without meaningful follow-back. I want to create frameworks where both sides benefit, we respect community members time i.e. monetarily/food and give them ownership/ decision-making prowess. We will provide support services so people can attend and outreach to the population most directly impacted by an action. That is empowerment! Finally, for those that have busy lives and or not physically available, digital platforms can be used by citizens to be engaged at their own convenience. \n", "\n", "\n", "> “There is no civic engagement without youth engagement” - Abu\n", "\n", "It is absurd to think that we are making decisions about our future, while ignoring people that are most impacted i.e. youth. The youth face many challenges including trauma, educational inequity, and financial instability. It is essential we engage the youth because it builds community ownership and pride. Ideally, the successful students in our community will stay and enrich the community rather than leave to the suburbs or Minneapolis (i.e brain drain). I want to create opportunities for youth to self-organize, represent, be part of committees, and shape their own future.\n", "\n", "Finally, my **secret weapon is to bring joy** in the community. I'm running as a local superhero, i.e. the Frogtown Crusader! I make people smile, laugh, and feel welcomed in our community. Let's challenge our imagination, AND expand how we can engage our community.\n", "\n", "\"Drawing\"\n", "\n", "\n", "#### 2) How will you deal with the winner takes all attitude?\n", "\n", "The goal is to build **community capacity**, which means residents become more self-sufficient. By building community knowledge, we assure that expertise and power is shared by everyone and transferred to the next generation. To do this, we need to inform/educate citizen on the issues, offer forums for authentic conversation, and challenge our expectations on civic engagement.\n", "\n", "> As Chicago's first African American, Harold Washington stated, we need to be \"fairer than fair\".\n", "\n", "I will be creating a forum open (via social media) to all Ward 1 residents to discuss issues and concerns. When in office, I will focus on creating systems and software to enhance community engagement/ dialogue, create a robust digital community network, and share decision-making. In addition, I want to expand the Open Data Initiative, which takes public data (also open source-coding) to provide meaningful and accessible reporting/digital apps to citizens so they can take proactive action and make informed decisions. In other words, civic engagement will be upgraded to the digital age. \n", "\n", "\n", "#### 3) How will different groups of people work together?\n", "\n", "I will prioritize in creating a community network, where residents are independently interacting, supporting, and working together. In sociology, this approach is called “asset-based” approach; which is an intentional process where community members provide their service, i.e. asset, to the corresponding community. This can create robust volunteer networks, mentorship models, and opportunities for funding local projects. The basic concept is that with dialogue and transparency, community members can become more emphatic, independent, advocate common sense solutions, and utilize a multi-prong approach to address complex issues such as community safety. \n", "\n", "Finally, I seek a structural solutions on improving communication, and logistics across different governmental agencies. Every agency supports people differently, and have various resources/budget. How can we be intentional on sharing resources, remove redundancies, and empower citizens?\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Next Steps \n", "\n", "Hopefully, you have enjoyed reading this report and you are ready to take action. Here are some ways that you can make a difference and make this vision into a reality not in Saint Paul, but in your city/town:\n", "\n", "**Steps for everyone anywhere in the country (this is the point of the Open Data Project)**\n", "\n", "1) If your city has upcoming elections and filing date is still open. Run for political office now!\n", "\n", "2) Share this report to other data experts and python programmer. Replicate the aforementioned analysis in your city/town. Use this information to hold your local officials accountable. [I can also do the analysis for a price]\n", "\n", "3) Create a list of local community leaders/ experts in the different category groups. These people have already have built years of trust, and you seek to activate them in an intentional manner.\n", "\n", "4) Be creative and engaging!\n", "\n", "\"Drawing\"\n", "\n", "**Steps for people in Saint Paul**\n", "\n", "1) If your neighborhood/ community is under-represented, run for city council. The filing date ends at August 13th! You can get more information [here](https://www.ramseycounty.us/residents/elections-voting/candidates/candidate-filing)\n", "\n", "2) If you are running for office, take the pledge of the Citizen-First Campaign, and let's support each other in getting citizens engaged. Let us work together in creating a more equitable Saint Paul\n", "\n", "3) Please support my campaign! I'm currently looking for volunteers, community leaders, and core campaign members\n", "\n", "* You can follow me in my [candidate Facebook page](https://www.facebook.com/AbuForWard1/), I will be setting up a donation page soon\n", "* If you are in Ward 1, please join my [Ward 1 community page](https://www.facebook.com/groups/2359329174387001/)\n", "\n", "4) Share my report to your network and friends EVEN if not in Saint Paul. Discuss the topics presented. The time for organizing is now.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run Code (Prior to running report) " ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "code_folding": [] }, "outputs": [], "source": [ "#Run Code\n", "import pandas as pd\n", "import numpy as np\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline \n", "import requests # library to handle requests\n", "import folium\n", "import seaborn as sns\n", "import scipy.stats as stats #used to get correlation coefficient\n", "\n", "\n", "#load Data\n", "P_15= pd.read_csv('Data/SaintPaul_PrecinctAnalysis_06-24-19.csv')\n", "P_15.columns= ['Ward', 'Precinct', 'Tot_Vote', 'Tot_Reg','Vote%', 'Total_WardVotes', 'Total_WardRegistered','Pro_Weight', 'Act_Weight', 'Representation', 'HDensity_Register', 'H_Vote17', 'H_Dens_Vote%', 'L_Registered','L_Vote17', 'L_Dens_Vote%', 'H_Dens%']\n", "Features= ['Ward','Precinct', 'Tot_Vote', 'Tot_Reg','Vote%','H_Dens%', 'H_Dens_Vote%', 'L_Dens_Vote%','Pro_Weight', 'Act_Weight', 'Representation']\n", "P_15= P_15[Features]\n", "\n", "def map_2015_SP_CityCouncilRepresentation_byPrecinct(Ward=0):\n", " #setup\n", " sp_geo = r'Shapefiles/SaintPaul_VotingPrecincts.json'\n", " \n", " if Ward==0:\n", " B=P_15 \n", " A='City Council'\n", " zo= 12\n", " else: \n", " B= P_15[(P_15['Ward'] == Ward)]\n", " A= 'Ward ' + str(Ward) +' '\n", " zo=13\n", " \n", " #Set up Variable Zoom Locations\n", " data = [[0, [44.948530, -93.096058]], [1, [44.958326, -93.122926]], [2, [44.933159, -93.115535]], [3, [44.918270, -93.176131]], [4, [44.961494, -93.176991]], [5, [44.978117, -93.106602]], [6, [44.978945, -93.047281]], [7, [44.942040, -93.033178]]] \n", "\n", " #44.951655, -93.096323\n", " \n", " # Create the pandas DataFrame \n", " Loc = pd.DataFrame(data, columns = ['Ward', 'Location']) \n", " Loc.iloc[Ward,1:]\n", " \n", " \n", " # generate a new map\n", " SP_map = folium.Map(location=Loc.iloc[Ward,1], zoom_start=zo,tiles='Stamen Terrain') #tiles=\"OpenStreetMap\")\n", "\n", " SP_map.choropleth(\n", " geo_data=sp_geo,\n", " data=B,\n", " columns=['Precinct','Representation'],\n", " key_on=\"feature.properties.Precinct\",\n", " fill_color='YlOrRd', \n", " fill_opacity=0.7, \n", " line_opacity=0.2,\n", " legend_name='2015 Saint Paul ' + A +' Precinct Representation: 06/24/19',\n", " highlight= True\n", " )\n", " \n", " # display map\n", " return SP_map\n", "\n", " - defaults/win-64::blaze==0.11.3=py37_0\n", " - defaults/win-64::numba==0.43.1=py37hf9181ef_0\n", "\n" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [], "source": [ "#map_2015_SP_CityCouncilRepresentation_byPrecinct()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Click to go to Table of Contents](#content)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }