{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Geocode NSCBE Data\n", "Geocodes NC SBE [Statewide Voter Registration](http://dl.ncsbe.gov/data/ncvoter_Statewide.zip) using the NC SBE [address points](https://s3.amazonaws.com/dl.ncsbe.gov/ShapeFiles/list.html). " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "#Read in Wake voter data and address list\n", "dfVoter = pd.read_csv('./data/NCSBE/ncvoter_Wake.csv')\n", "dfAddresses = pd.read_csv('./data/NCSBE/address_points_sboe/Shapefiles/Address_pts/address/address_points_wake.csv',\n", " usecols=['st_address','city','zip','latitude','longitude'])" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "#Clean street address\n", "dfVoter['addr'] = dfVoter.res_street_address.apply(lambda x: \"{} {} {}\".format(x.split()[0],x.split()[1],x.split()[2]))" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "#Join coords to dfVoter\n", "dfX = pd.merge(left=dfVoter,\n", " right=dfAddresses,\n", " how='left',\n", " left_on=['addr','res_city_desc','zip_code'],\n", " right_on=['st_address','city','zip']\n", " )" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "#Save to file\n", "dfX.to_csv('./data/NCSBE/ncvoter_Wake_geo.csv')" ] } ], "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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }