Skip to main content

Partisan Dislocation

Project description

Partisan Dislocation

Build Status

This package implements the partisan dislocation measure from Partisan Dislocation: A Precinct-Level Measure ofRepresentation and Gerrymandering by Deford, Eubank, & Rodden.

It takes as input a GeoDataframe of polygons with columns containing vote counts for both political parties for each polygon. it includes three functions which, when used sequentially, will return a GeoDataframe of representative voter point along with associated dislocation scores for each point.

In addition, the repository for this package also include the shapefiles of US precincts and their vote totals from the 2008 presidential election used in Deford, Eubank, Rodden. these can be found in the folder "2008_presidential_precinct_data." It also includes CSV containing all of the underlying data behind Figure 10 from the Partisan Dislocation paper in the folder "figure_10_csv". Note that to download this data, you will have to first install git-lfs before cloning the repository.

The three functions provided by the package are:

  • random_points_in_polygon: takes a polygon GeoDataframe with the number of votes cast democrats and republicans in each polygon and returns a GeoDataframe off of representative voter points.
  • calculate_voter_knn: takes a voter point GeoDataframe and returns a voter point GeoDataframe with voter knn scores.
  • calculate_dislocation: takes a voter point GeoDataframe with knn scores and a GeoDataframe with electoral district polygons and returns voter dislocation scores.

Tutorial

Demonstration of how the package can be used can be found in dislocation_tutorial.ipynb.

Installation

This package can be easily installed using pip:

pip install partisan_dislocation

Dislocation Maps

This repository also includes partisan dislocation maps --- analogous to those in Deford, Eubank, Rodden --- for all states and legislative levels. Those can be found in the partisan_dislocation_maps folder.

Development Notes

  • To run test suite, set working directory to top level and run python -m unittest partisan_dislocation/tests/test_partisan_dislocation.py (after ensuring pip-installed version of package not in current environment).
  • To build package: install flit, and from root directory run flit build.
  • To install locally, build then run flit install.
  • To create new release, build, update version in __init__.py, then run flit publish.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

partisan_dislocation-0.8.0.tar.gz (9.3 kB view hashes)

Uploaded Source

Built Distribution

partisan_dislocation-0.8.0-py3-none-any.whl (8.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page