Skip to main content

Redistricting of pandas dataframes

Project description

# pandas-redistrict

Uses data on redistricting to apply redistricting to older datasets to represent the districts in their current state.

Supports merging and splitting of districts:
- Merged districts are summed up under new identifier
- Split districts are distributed by population-based ratio.

Data on redistricting is in `data/` directory. Currently only available for German *Kreise* (containing reforms in NRW, Sachsen, Sachsen-Anhalt and Mecklenburg-Vorpommern).

Install like this:

pip install pandas-redistrict


## Usage

``` python
>>> df # Values indexed by German district identifiers
value1 value2
AGS
05354 4 5
05313 5 6
05334 6 7
15154 8 9
15159 10 11
15151 12 13
15082 13 14

>>> # Port old identifiers to new versions. Sum and distribute values on the way
>>> from redistrict import redistrict
>>> redistrict(df, 'de/kreise', drop=True, splits=True)
value1 value2
AGS
05334 15.00 18.00
15001 2.40 2.60
15082 35.44 38.81
15086 0.96 1.04
15091 4.20 4.55
```

When you want to preserve groups inside districts, you can use ``redistrict_grouped``:

``` python
>>> # Specify district column (e.g. AGS)
>>> # Also specify groups to preserve, in this case year
>>> df
AGS year value1 value2
0 05354 2008 4 5
1 05313 2008 5 6
2 05334 2011 6 7
3 15154 2005 8 9
4 15159 2005 10 11
5 15151 2005 12 13
6 15082 2013 13 14
>>> from redistrict import redistrict_grouped
redistrict_grouped(df, 'de/kreise', ['year'],
district_col='AGS',
value_cols=['value1', 'value2'],
drop=True)

AGS value1 value2 year
0 15001 2.40 2.60 2005
1 15082 22.44 24.81 2005
2 15086 0.96 1.04 2005
3 15091 4.20 4.55 2005
0 05334 9.00 11.00 2008
0 05334 6.00 7.00 2011
0 15082 13.00 14.00 2013
```

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

pandas-redistrict-0.0.3.tar.gz (41.9 kB view details)

Uploaded Source

Built Distribution

pandas_redistrict-0.0.3-py2.py3-none-any.whl (43.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pandas-redistrict-0.0.3.tar.gz.

File metadata

File hashes

Hashes for pandas-redistrict-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0c37b7f69c5082525112760ae795288b9d46376e5ba42654e54c62212392b45f
MD5 1d8a335e4c668ad9971d8a2ee904d6ef
BLAKE2b-256 749d8447a3dd3e05eac83687420f7e3e07658df9d574d576c6c5b601829dbcd6

See more details on using hashes here.

File details

Details for the file pandas_redistrict-0.0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pandas_redistrict-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5341ced47920ab6432228c3426022186c186f91983fbb5e397e5c3f2dee8029f
MD5 ec8f3f5614a47d0e627943143ec5d869
BLAKE2b-256 5514ee5b95358f8c5833331b8f7d8bf6133855b6c7b6f3118e58ea0f38e4829c

See more details on using hashes here.

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