{ "cells": [ { "cell_type": "markdown", "id": "4abf3658-bcf9-4ada-a9b6-4fcd10660f20", "metadata": {}, "source": [ "### Project Assignment 3: Analysis, Modeling, and Simulation" ] }, { "cell_type": "markdown", "id": "e53cc23c-2b46-41e8-a178-65e5e8088ea5", "metadata": {}, "source": [ "# Covid-19, Population Migration, & Electoral Outcomes" ] }, { "cell_type": "markdown", "id": "1c34004f-ca8f-47a6-80f4-35d829f497a8", "metadata": {}, "source": [ "The Covid-19 pandemic reshaped population patterns across the United States, as millions of residents relocated from dense urban centers to suburban and rural communities. These demographic shifts have not only redefined the spatial distribution of people across the U.S., but may have also influenced the political landscape of the nation.\n", "\n", "In this analysis, I examine changes in population density at the county level from April 2020 to July 2024 using official estimates from the [U.S. Census Bureau](https://www.census.gov/data/datasets/time-series/demo/popest/2020s-counties-total.html). Through the use of choropleth maps and datatables, I visualize percent change in population densities at the county and state levels, highlighting regions that experienced the most significant growth or decline.\n", "\n", "To explore how these demographic movements may intersect with political realignment, I analyze county-level voting data from the 2020 and 2024 U.S. Presidential Elections, obtained from [MIT's Election Data and Science Lab](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VOQCHQ). By comparing shifts in voter preferences with changes in population density, this study aims to identify potential correlations between post-pandemic migration trends and partisan outcomes - particularly within key swing states that often determine the overall election result.\n", "\n", "Ultimately, this analysis seeks to provide a data-driven perspective on how population mobility in the wake of Covid-19 may have reshaped the political geography of the United States, revealing broader relationships between demographic change, density, and electoral behavior." ] }, { "cell_type": "markdown", "id": "4f1b45cc-b78b-4424-8585-0336d23d78bb", "metadata": {}, "source": [ "## Part 1: Covid-19 & Population Migration" ] }, { "cell_type": "markdown", "id": "e37dcbd2-9e8a-4ccb-a381-f7c3eb316e57", "metadata": {}, "source": [ "In this section, I examine how population density changed across the United States between 2020 and 2024, highlighting the demographic shifts brought on by the Covid-19 pandemic. At the county level, I focus on percent changes in population density within key swing states to identify regions that experienced the most significant growth or decline. At the broader scale, I analyze state-level density changes for all 50 states to understand how these swing states compare nationally and whether similar migration patterns emerged across the country." ] }, { "cell_type": "code", "execution_count": 1, "id": "bec0e15f-da0b-4a10-b886-3bded2ffe592", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import folium, requests\n", "from branca.element import Element" ] }, { "cell_type": "code", "execution_count": 2, "id": "bfadaebc-b45e-445d-abd9-85fb74b4f6e0", "metadata": {}, "outputs": [], "source": [ "# Load population data\n", "pop = pd.read_csv(\"2020_vs_2024_pop_density_by_county.csv\")\n", "\n", "# Clean columns\n", "pop = pop.rename(columns={\"County\":\"county_name\",\"2020\":\"pop_2020\",\"2024\":\"pop_2024\"})\n", "pop[\"county_name\"] = pop[\"county_name\"].str.strip().str.replace(\"^\\.\", \"\", regex=True)\n", "\n", "# Split into county + state\n", "pop[[\"county_part\",\"state_full\"]] = pop[\"county_name\"].str.split(\", \", n=1, expand=True)\n", "\n", "# Map state full names → abbreviations\n", "state_map = {\n", " 'Alabama':'AL','Alaska':'AK','Arizona':'AZ','Arkansas':'AR','California':'CA','Colorado':'CO',\n", " 'Connecticut':'CT','Delaware':'DE','District of Columbia':'DC','Florida':'FL','Georgia':'GA',\n", " 'Hawaii':'HI','Idaho':'ID','Illinois':'IL','Indiana':'IN','Iowa':'IA','Kansas':'KS','Kentucky':'KY',\n", " 'Louisiana':'LA','Maine':'ME','Maryland':'MD','Massachusetts':'MA','Michigan':'MI','Minnesota':'MN',\n", " 'Mississippi':'MS','Missouri':'MO','Montana':'MT','Nebraska':'NE','Nevada':'NV','New Hampshire':'NH',\n", " 'New Jersey':'NJ','New Mexico':'NM','New York':'NY','North Carolina':'NC','North Dakota':'ND',\n", " 'Ohio':'OH','Oklahoma':'OK','Oregon':'OR','Pennsylvania':'PA','Rhode Island':'RI',\n", " 'South Carolina':'SC','South Dakota':'SD','Tennessee':'TN','Texas':'TX','Utah':'UT','Vermont':'VT',\n", " 'Virginia':'VA','Washington':'WA','West Virginia':'WV','Wisconsin':'WI','Wyoming':'WY'\n", "}\n", "pop[\"state_abbr\"] = pop[\"state_full\"].map(state_map)\n", "\n", "# Clean county names\n", "pop[\"county_name_clean\"] = (\n", " pop[\"county_part\"]\n", " .str.replace(\" County\",\"\",regex=False)\n", " .str.replace(\" Parish\",\"\",regex=False)\n", " .str.replace(\" Borough\",\"\",regex=False)\n", " .str.replace(\" Census Area\",\"\",regex=False)\n", " .str.strip()\n", " + \", \" + pop[\"state_abbr\"]\n", ")\n", "\n", "# Convert pop columns to numeric\n", "pop[\"pop_2020\"] = pd.to_numeric(pop[\"pop_2020\"].replace(\",\",\"\",regex=True), errors=\"coerce\")\n", "pop[\"pop_2024\"] = pd.to_numeric(pop[\"pop_2024\"].replace(\",\",\"\",regex=True), errors=\"coerce\")\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "a1f8df17-8420-41a3-a5af-a9a76bcd4a6f", "metadata": {}, "outputs": [], "source": [ "# FIPS reference\n", "fips = pd.read_csv(\"https://raw.githubusercontent.com/kjhealy/fips-codes/master/state_and_county_fips_master.csv\")\n", "fips[\"county_name_clean\"] = (\n", " fips[\"name\"]\n", " .str.replace(\" County\",\"\",regex=False)\n", " .str.replace(\" Parish\",\"\",regex=False)\n", " .str.replace(\" Borough\",\"\",regex=False)\n", " .str.replace(\" Census Area\",\"\",regex=False)\n", " .str.strip()\n", " + \", \" + fips[\"state\"]\n", ")\n", "fips[\"county_fips\"] = fips[\"fips\"].astype(str).str.zfill(5)\n", "\n", "merged = pop.merge(fips[[\"county_name_clean\",\"county_fips\"]], on=\"county_name_clean\", how=\"left\")\n", "\n", "# Land area\n", "area = pd.read_csv(\"GEOINFO2023.GEOINFO-Data.csv\", dtype=str)\n", "area[\"county_fips\"] = area[\"GEO_ID\"].str[-5:]\n", "area[\"land_area_sqmi\"] = pd.to_numeric(area[\"AREALAND_SQMI\"], errors=\"coerce\")\n", "\n", "merged = merged.merge(area[[\"county_fips\",\"land_area_sqmi\"]], on=\"county_fips\", how=\"left\")\n", "\n", "# Compute true densities and % change\n", "merged[\"pop_density_2020_true\"] = merged[\"pop_2020\"] / merged[\"land_area_sqmi\"]\n", "merged[\"pop_density_2024_true\"] = merged[\"pop_2024\"] / merged[\"land_area_sqmi\"]\n", "merged[\"density_change_pct\"] = (\n", " (merged[\"pop_density_2024_true\"] - merged[\"pop_density_2020_true\"])\n", " / merged[\"pop_density_2020_true\"]\n", ") * 100\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "912057e2-bdb1-45f4-aaf0-6ce2b1d4eece", "metadata": {}, "outputs": [], "source": [ "elec = pd.read_csv(\"county_election_results_2020_2024.csv\")\n", "elec = elec[elec[\"office\"] == \"US PRESIDENT\"].copy()\n", "\n", "def rep_share(df, year):\n", " d = df[df[\"year\"] == year]\n", " pivot = d.pivot_table(index=\"county_fips\", columns=\"party\", values=\"candidatevotes\", aggfunc=\"sum\", fill_value=0).reset_index()\n", " pivot[\"rep_share_\" + str(year)] = pivot.get(\"REPUBLICAN\", 0) / (pivot.get(\"REPUBLICAN\", 0) + pivot.get(\"DEMOCRAT\", 0))\n", " pivot[\"county_fips\"] = pivot[\"county_fips\"].astype(str).str.strip().apply(lambda x: str(int(float(x))).zfill(5))\n", " return pivot[[\"county_fips\",\"rep_share_\" + str(year)]]\n", "\n", "rep2020 = rep_share(elec, 2020)\n", "rep2024 = rep_share(elec, 2024)\n", "\n", "vote = rep2020.merge(rep2024, on=\"county_fips\", how=\"inner\")\n", "vote[\"vote_shift_pct\"] = (vote[\"rep_share_2024\"] - vote[\"rep_share_2020\"]) * 100" ] }, { "cell_type": "code", "execution_count": 5, "id": "f971c4d1-e7a1-435b-a9f3-41a8399a32ce", "metadata": {}, "outputs": [], "source": [ "merged_all = merged.merge(vote, on=\"county_fips\", how=\"inner\")\n", "\n", "swing_states = ['AZ','GA','MI','NV','NC','PA','WI']\n", "merged_all = merged_all[merged_all[\"state_abbr\"].isin(swing_states)].copy()" ] }, { "cell_type": "code", "execution_count": 6, "id": "39863373-a7cb-4640-89fc-9061fca395bf", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import folium\n", "import requests\n", "import branca\n", "\n", "# Load county boundaries\n", "geojson_url = \"https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json\"\n", "counties_geojson = requests.get(geojson_url).json()\n", "\n", "# Column to map\n", "col = \"density_change_pct\"\n", "\n", "# Symmetric range around 0\n", "max_abs = float(np.nanmax(np.abs(merged_all[col])))\n", "vmin, vmax = -max_abs, max_abs\n", "\n", "# Custom red–white–green colormap (no yellow/orange), centered at 0\n", "cmap = branca.colormap.LinearColormap(\n", " colors=[\"red\", \"white\", \"green\"],\n", " vmin=vmin, vmax=vmax\n", ")\n", "cmap.caption = \"% Change in Population Density (2020→2024)\" # legend title\n", "\n", "# Value lookups for styling & tooltip\n", "name_map = merged_all.set_index(\"county_fips\")[\"county_name\"].to_dict()\n", "val_map = merged_all.set_index(\"county_fips\")[col].to_dict()\n", "\n", "# Make map\n", "m_density = folium.Map(location=[37.8, -96], zoom_start=4, tiles=\"cartodbpositron\")\n", "\n", "# GeoJson layer with custom color per feature\n", "def style_fn(feature):\n", " fips = feature[\"id\"]\n", " v = val_map.get(fips, None)\n", " if v is None or (isinstance(v, float) and np.isnan(v)):\n", " return {\"fillColor\": \"lightgrey\", \"color\": \"black\", \"weight\": 0.2, \"fillOpacity\": 0.6}\n", " return {\"fillColor\": cmap(v), \"color\": \"black\", \"weight\": 0.2, \"fillOpacity\": 0.8}\n", "\n", "# Add tooltip fields to features\n", "for f in counties_geojson[\"features\"]:\n", " fips = f[\"id\"]\n", " f[\"properties\"][\"county_name\"] = name_map.get(fips, \"Unknown\")\n", " v = val_map.get(fips)\n", " f[\"properties\"][\"density_chg\"] = \"No data\" if v is None or (isinstance(v, float) and np.isnan(v)) else f\"{v:+.1f}%\"\n", "\n", "gj = folium.GeoJson(\n", " counties_geojson,\n", " style_function=style_fn,\n", " tooltip=folium.GeoJsonTooltip(\n", " fields=[\"county_name\",\"density_chg\"],\n", " aliases=[\"County\",\"Δ Density (%)\"],\n", " localize=True,\n", " ),\n", " name=\"Population Density Change (2020–2024)\"\n", ").add_to(m_density)\n", "\n", "# Title\n", "title_html = \"\"\"\n", "

\n", " Swing States — % Change in Population Density (2020–2024)\n", "

\n", "\"\"\"\n", "m_density.get_root().html.add_child(folium.Element(title_html))\n", "\n", "# Legend\n", "cmap.add_to(m_density)\n", "\n", "# Display & save\n", "display(m_density)\n", "m_density.save(\"swing_states_density_change.html\")\n" ] }, { "cell_type": "markdown", "id": "eed94d79-4ef5-42d0-b975-23f704dbeff3", "metadata": {}, "source": [ "#### Swing State Change in Population Density (2020–2024), County Level" ] }, { "cell_type": "markdown", "id": "3bec2d8d-aabc-4459-8dc6-9fe1deee8c8c", "metadata": {}, "source": [ "Each **shape** represents a **county**. The **colors** show how **population density changed** from 2020 to 2024 within the swing states — green counties became more densely populated, while red counties saw declines in density. Darker shades indicate a stronger change. This helps highlight where population growth or loss was most concentrated across key battleground states." ] }, { "cell_type": "code", "execution_count": 7, "id": "535ea69a-b44c-4fc3-8802-4cb76f020223", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Rank state_abbr density_change_pct\n", " 1 ID 8.83%\n", " 2 FL 8.52%\n", " 3 TX 7.35%\n", " 4 UT 7.09%\n", " 5 SC 7.04%\n", " 6 DE 6.26%\n", " 7 AZ 5.93%\n", " 8 NC 5.79%\n", " 9 NV 5.21%\n", " 10 MT 4.89%\n", " 11 TN 4.56%\n", " 12 GA 4.36%\n", " 13 SD 4.28%\n", " 14 OK 3.43%\n", " 15 WA 3.25%\n", " 16 CO 3.15%\n", " 17 ME 3.07%\n", " 18 AL 2.63%\n", " 19 AR 2.55%\n", " 20 NH 2.29%\n", " 21 NJ 2.28%\n", " 22 ND 2.25%\n", " 23 NE 2.22%\n", " 24 VA 2.08%\n", " 25 IN 2.03%\n", " 26 WY 1.87%\n", " 27 DC 1.84%\n", " 28 KY 1.82%\n", " 29 IA 1.60%\n", " 30 MN 1.52%\n", " 31 MO 1.47%\n", " 32 MA 1.47%\n", " 33 RI 1.36%\n", " 34 MD 1.32%\n", " 35 WI 1.13%\n", " 36 KS 1.12%\n", " 37 AK 0.92%\n", " 38 VT 0.84%\n", " 39 OR 0.83%\n", " 40 OH 0.71%\n", " 41 MI 0.61%\n", " 42 NM 0.60%\n", " 43 PA 0.58%\n", " 44 CA -0.31%\n", " 45 MS -0.62%\n", " 46 HI -0.63%\n", " 47 IL -0.87%\n", " 48 LA -1.29%\n", " 49 WV -1.32%\n", " 50 NY -1.67%\n", " 51 CT NaN\n" ] } ], "source": [ "df_all = merged.copy()\n", "\n", "# Compute total population & land area per state\n", "state_density_all = (\n", " df_all.groupby(\"state_abbr\")\n", " .agg({\n", " \"pop_2020\": \"sum\",\n", " \"pop_2024\": \"sum\",\n", " \"land_area_sqmi\": \"sum\"\n", " })\n", " .reset_index()\n", ")\n", "\n", "# Compute 2020 & 2024 population density\n", "state_density_all[\"density_2020\"] = state_density_all[\"pop_2020\"] / state_density_all[\"land_area_sqmi\"]\n", "state_density_all[\"density_2024\"] = state_density_all[\"pop_2024\"] / state_density_all[\"land_area_sqmi\"]\n", "\n", "# Compute % change\n", "state_density_all[\"density_change_pct\"] = (\n", " (state_density_all[\"density_2024\"] - state_density_all[\"density_2020\"])\n", " / state_density_all[\"density_2020\"]\n", ") * 100\n", "\n", "# Sort descending by change\n", "state_density_all = state_density_all.sort_values(\"density_change_pct\", ascending=False).reset_index(drop=True)\n", "\n", "# Add rank & clean up output\n", "state_density_all[\"Rank\"] = state_density_all.index + 1\n", "state_density_all = state_density_all[[\"Rank\", \"state_abbr\", \"density_change_pct\"]]\n", "\n", "# Print formatted list\n", "pd.set_option(\"display.float_format\", lambda x: f\"{x:.2f}%\")\n", "print(state_density_all.to_string(index=False))" ] }, { "cell_type": "markdown", "id": "43b51cc9-c0c5-49a5-9757-6c0e30043a38", "metadata": {}, "source": [ "#### National Change in Population Density (2020–2024), State Level" ] }, { "cell_type": "markdown", "id": "616b24e5-d53d-4d5a-82d0-7cd362dbe23c", "metadata": {}, "source": [ "This table ranks all 50 states by their percent change in population density from 2020 to 2024. States near the top experienced the fastest growth, meaning their populations increased relative to land area, while those near the bottom saw little growth or declines in density. In other words, it shows which states experienced the fastest population growth and which saw slower or declining density after the Covid-19 pandemic.\n", "\n", "When looking at our swing states, we can see they ranked as following: \n", "AZ - 7 \n", "NC - 8 \n", "NV - 9 \n", "GA - 12 \n", "WI - 35 \n", "MI - 41 \n", "PA - 43 \n", "\n", "The majority of swing states ranked in the upper half, indicating stronger population growth between 2020 and 2024 nationally. States like Arizona, North Carolina, Nevada, and Georgia all experienced some of the highest increases in density, reflecting continued in-migration and expansion in key Sun Belt regions. In contrast, Wisconsin, Michigan, and Pennsylvania ranked lower, showing slower growth consistent with broader population stagnation in parts of the Midwest and Northeast." ] }, { "cell_type": "markdown", "id": "e76bfd50-ab1f-4901-9dce-89d25ee5d36b", "metadata": {}, "source": [ "Having explored patterns of population growth and migration, we next will analyze changes in partisan voting between 2020 and 2024." ] }, { "cell_type": "markdown", "id": "453967b3-94ed-4c07-a490-22457c115b21", "metadata": {}, "source": [ "## Part 2: Electoral Shifts and Voting Patterns" ] }, { "cell_type": "markdown", "id": "39e6ffca-2295-4ffa-a3d0-5f6939203112", "metadata": {}, "source": [ "This section explores how voting behavior evolved between the 2020 and 2024 U.S. Presidential Elections, with a focus on changes in Republican vote share at both the county and state level within key swing states. By quantifying percent change in vote share, this analysis highlights where partisan support strengthened or weakened over time. Examining these shifts alongside population changes offers insight into how demographic movement may have intersected with political realignment across pivotal regions of the country." ] }, { "cell_type": "code", "execution_count": 8, "id": "5fcbeee7-1078-48c4-b086-dac48ec63254", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Make this Notebook Trusted to load map: File -> Trust Notebook
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Column and symmetric color bins\n", "col = \"vote_shift_pct\"\n", "max_abs = np.nanmax(np.abs(merged_all[col]))\n", "qbins = np.linspace(-max_abs, max_abs, 7) # Symmetric bins centered on 0\n", "\n", "# Create map\n", "m_vote = folium.Map(location=[37.8, -96], zoom_start=4, tiles=\"cartodbpositron\")\n", "\n", "# Choropleth layer\n", "folium.Choropleth(\n", " geo_data=counties_geojson,\n", " name=\"Republican Vote Share Change (2020–2024)\",\n", " data=merged_all,\n", " columns=[\"county_fips\", col],\n", " key_on=\"feature.id\",\n", " fill_color=\"RdBu_r\", # Red = GOP gain, Blue = Dem gain\n", " fill_opacity=0.8,\n", " line_opacity=0.2,\n", " bins=qbins, # Symmetric bins ensure 0 is midpoint\n", " nan_fill_color=\"lightgrey\",\n", " legend_name=\"Change in Republican Vote Share (p.p.) 2020→2024\",\n", ").add_to(m_vote)\n", "\n", "# Tooltip setup\n", "name_map = merged_all.set_index(\"county_fips\")[\"county_name\"].to_dict()\n", "val_map = merged_all.set_index(\"county_fips\")[col].round(1).to_dict()\n", "for f in counties_geojson[\"features\"]:\n", " fips = f[\"id\"]\n", " f[\"properties\"][\"county_name\"] = name_map.get(fips, \"Unknown\")\n", " v = val_map.get(fips)\n", " f[\"properties\"][\"vote_shift\"] = \"No data\" if v is None or np.isnan(v) else f\"{v:+.1f} p.p.\"\n", "\n", "folium.GeoJson(\n", " counties_geojson,\n", " style_function=lambda x: {\"fillOpacity\": 0, \"weight\": 0},\n", " tooltip=folium.GeoJsonTooltip(\n", " fields=[\"county_name\", \"vote_shift\"],\n", " aliases=[\"County\", \"Δ Republican Share (p.p.)\"],\n", " localize=True,\n", " ),\n", ").add_to(m_vote)\n", "\n", "# Title\n", "title_html = \"\"\"\n", "

\n", " Swing States — Change in Republican Vote Share (2020–2024)\n", "

\n", "\"\"\"\n", "m_vote.get_root().html.add_child(folium.Element(title_html))\n", "\n", "# Display and save map\n", "display(m_vote)\n", "m_vote.save(\"swing_states_vote_shift.html\")\n" ] }, { "cell_type": "markdown", "id": "343e02d2-a8bd-4c4d-bb52-50ab1a9b1d46", "metadata": {}, "source": [ "#### Swing State Change in Republican Vote Share (2020–2024), County Level" ] }, { "cell_type": "markdown", "id": "4be59c70-6f5a-4d30-a9fe-ae195ad414ad", "metadata": {}, "source": [ "Each **shape** represents a **county**. The **colors** show how the **Republican vote share changed** between the 2020 and 2024 presidential elections within the swing states - red counties saw an increase in Republican vote share, while blue counties shifted more Democratic. Darker shades indicate a stronger change. This helps visualize where Republican support grew or declined across key battleground states.\n", "\n", "Overall, the map shows strikingly more red than blue, meaning that a larger share of swing-state counties experienced an increase in Republican vote share from 2020 to 2024. This suggests that Republican momentum was widespread, even if the intensity of the shift varied by region." ] }, { "cell_type": "code", "execution_count": 9, "id": "286818c7-0a98-4023-849c-745789c9c899", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Average Change in Republican Vote Share (2020→2024) by State\n", "state_abbr vote_shift_pct\n", " AZ 4.38%\n", " GA 1.45%\n", " NC 1.25%\n", " WI 1.20%\n", " MI 1.18%\n", " NV 1.13%\n", " PA 0.86%\n" ] } ], "source": [ "# Create state-level average vote shift\n", "state_vote_shift = (\n", " merged_all.groupby(\"state_abbr\")[\"vote_shift_pct\"]\n", " .mean()\n", " .reset_index()\n", " .sort_values(\"vote_shift_pct\", ascending=False)\n", ")\n", "\n", "# Display all states ranked\n", "print(\"\\nAverage Change in Republican Vote Share (2020→2024) by State\")\n", "print(state_vote_shift.to_string(index=False))" ] }, { "cell_type": "markdown", "id": "c7977784-fca5-4b67-8ad8-e3c35f817f15", "metadata": {}, "source": [ "#### Swing State Change in Republican Vote Share (2020–2024), State Level" ] }, { "cell_type": "markdown", "id": "1a2d1520-fe57-48ec-bb6a-c26ce8dc421c", "metadata": {}, "source": [ "This table shows the **average change in Republican vote share** between the 2020 and 2024 presidential elections for **each swing state**. All seven states saw Republican gains, with Arizona (+4.38%) showing the largest increase and Pennsylvania (+0.86%) the smallest. Overall, the data suggests a consistent Republican uptick across the battlegrounds, with particularly strong momentum in the Sun Belt states (Arizona, Georgia, and North Carolina). **Recall that these same Sun Belt states also experienced the highest increases in population density.**\n", "\n", "This connection between population increases and Republican gains raises an important question: **to what extent might migration itself have influenced these electoral shifts?** The next section explores this relationship directly by examining the correlation between population density change and partisan vote share, revealing how demographic movement may have shaped the broader red wave of 2024." ] }, { "cell_type": "markdown", "id": "4774d98d-047a-4274-bb7b-cf95497ea26b", "metadata": {}, "source": [ "## Part 3: Linking Population Shifts and Political Change" ] }, { "cell_type": "markdown", "id": "d168ddc6-6390-4974-9c76-2ca384a23d7d", "metadata": {}, "source": [ "This section investigates the relationship between population movement and partisan voting outcomes. By analyzing the correlation between county-level changes in population density (2020–2024) and shifts in Republican vote share over the same period, this analysis explores whether migration trends during and after the Covid-19 pandemic may be associated with political realignment in key regions. The goal is to identify whether counties that gained or lost population tended to show corresponding changes in partisan support, revealing how demographic and political dynamics may intersect across the post-pandemic landscape." ] }, { "cell_type": "code", "execution_count": 10, "id": "dd4884e4-29a6-4903-93d6-c76c7f4b9f41", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", "
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import HTML\n", "\n", "html = \"\"\"\n", "
\n", " \n", " \n", "
\n", "\"\"\"\n", "\n", "# Display\n", "display(HTML(html))\n", "\n", "# Save combined HTML file\n", "with open(\"combined_maps.html\", \"w\") as f:\n", " f.write(html)\n" ] }, { "cell_type": "markdown", "id": "3d82c906-2d25-4381-85db-d2d337b8e8b8", "metadata": {}, "source": [ "#### Swing State Change in Population Density vs Change in Republican Vote Share (2020–2024), County Level" ] }, { "cell_type": "markdown", "id": "2364037a-218a-45ec-956b-823db53d0bbf", "metadata": {}, "source": [ "Our two maps are shown side by side to compare population density change (left) and Republican vote share change (right) from 2020 to 2024." ] }, { "cell_type": "code", "execution_count": 11, "id": "073a7a8e-fc1b-4a16-b643-8e2b50444521", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApcAAAG5CAYAAADbIh9KAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAB61klEQVR4nO3dd5wceX3n/9en8+QojcIoraSVNkeWDGtwACewwRgcDhwA2/iAczgb+3zG8fD9HHDGJAMmg0lnMJklmLA5B612V1rl0Why6Fif3x9VPdPT6gk96tHMSO/n4zGP6a6qrv70t6urP/1NZe6OiIiIiEgjxFY7ABERERG5cCi5FBEREZGGUXIpIiIiIg2j5FJEREREGkbJpYiIiIg0jJJLEREREWmYdZlcmtkhM3Mze1UD9vXmaF+3nHtkq8fMXhW9jkN1Pu68v/4LocyXW94L7M+jv5sbsb/1zsx2VpTJzlWMQ+/LOreU99DM3hNt857o/po4/ta76nKdZ5uzzqVm1mRm7zezM9G625fx3JkoVxgxs85lvQABwMwSZnbQzEbNbONSHrNocmlmt1R8yNzMsmZ2wMz+xMyazj3s82OBhOa7wN8CHz8PMbwziuHLFcturijbn65Y/v5o2aeWuPsHCV/Huxsb9eqdaKOTw++a2Z1mNmFmk2b2sJn9jZmlzlccjbTAF93fRn9Hz3tQzDnBu5mVorJ+PDoOb1yFkMaYLZOxKMaG/ii5EI+v1VR1DLmZFczsmJl9yMx2rHZ8dTrr+FsNZvbfKspyU9W6768o66uXsK+Z75oGxXa5mX3SzE6aWd7MBszsu2b26jp3Veu761eBnwUM+Efgg9Fz1vNj7/XADuAf3X0kevx/N7NvmdkpM8uZ2WEze1t1wmRmP21m90T5zukoSe6tWN+Q/czHzDqibR+MEroJM7vbzF5btV2Lmf2dmR2P4njEzF5X734qtr/WzKarjxN3LwJ/AbQD/3ux+MsPWvAPuAVwwgPgrYRvcj5a9u7FHr8Sf8Ch6PlfVcdj3hw95pbViDmK4eeiGCaBVFVcDvxzxbZHo2VvXOGYFi0XYGdFjDvP03N2AHdG2xWA/wDeAXwTCIDOc3j+GBCfZ11qift4VRTboTqfu1yON6/WcbjI6/Hoc/4h4Eh0vwi8cg3E2LDP8FKPr7X6fq3FvxrH0HuAqej+N1cxrkXfwyhWB96z2uVYFVcTMBLF9ltV6z4QLb91ifu6uVwWDYgrXXF+uB34J+CjwGOVZbjccgXeGT3uffW+l9F2ceDJaNu9FctviZZ/MIq3EG3zrYptfiRalgf+Dbg3un8HkGjkfhaIf2d0HvpOdF66o+K1/3LFdh+Nlj0elfVYdP836tlPtG078GjFa/Ea66eBCaB90fdwCW/yLdUHB/AP0bKhimUvBr4NDAOnga8Az61Y/+boMd8E3hJtM0D4qyQz38FPjS9xqpJL4FnA94AzUcEMA58Hrqo6wKv/dlLjCwvYRfjBfZIwEbwf+G1mE8KdFfv4FeC+qNC/A+xfoCz7Kx73rGjZ16J4nwQejJbtrdju2mjZNcBngOPRAfQd4IWLlNNWwi/NceAg8JKK/d5c9b58A/gj4BQwBLyN8AN6M7XL7s1LiSva5tcID/5J4MOEv1IXSy7/htkv/mdUrdtX8V7U8179GvAQUIqWl4+LjwHvjeJ/zzmU9zsIj80pwhPKo8Af1Iij8q/8fNXvSwz4JcIEaDyK4zPANTVO3B+LnnuU8DP1R/OckF+1QHmXX0/lZy8DfJrZH0R90fI24P8AD0ev9QDwx0BTjef8bcLWgSzh5+QZFdv8MvBAtI/x6PYf1iivyveq+u/10f/TVPwwIDzenHmSYpZ+fFU+z7cIP+fVr+OPo/d6Itrfk9H+03WWRyfwfsLzwVHC4/VQ9XvH3HPtqeg9Wui883C0j9dULHtDtOz+6P6LCL94xqP3+gAVP3aX8jfPMfTWaNlE1bYLvoaK9/sjhInGaFQmfwTEFvgMvpmzz+eV7+G3o/fwTuA5NZ6v/HncWfG4ndGyVFRu90TlNAJ8vWIfn41izFa8v6+tWH9zxT5/njARmwS+CGxeoFz/KXrMAxXLOphN3F8TLXsO4ffu6ahcvw38RPV7U/X3qhqPHQK+DDxtgZiuq9hHd9W6nhrl+mHC7/oRqs5R1e8jsznHnPPkPPG/Z574nlp9bETLbyI6fqL7f1Kxr65o2W3R/bdUlHU2WvbiRu5ngfJtBy6vuJ9g9pz26WjZlRXPuT9a9tro/mD0mEX3U7HuI9H7M/NaasT19WjdSxY9HyzhhFF+o8sfug2EJ1kHHomW/Up0vxQF+LnofkD0hczshz4gPIm9h/BD7sDfVX/45jvwomWHmPvBeFn0ot9F+EG8J1r/WFSYP0N4QnfCD/9bo79uqk5GhAnZmWjZXdE+R6P7H6px4hkH/hU4HN3/6iLleTDa7n8R/vqbJkwa3hct3wi8Oro9RJhkXBttVyQ8gb07et7Kg31OOUWPK9fMHIteR7k21Dk7uQwIT4bvj57Hgf8G7Imer/y4d0dl94IlxlWZ0H4m+itVlvk85VT+1fmxBbap973KEf7S/CCwmdkTVkCYlP4L8JvLKe9o2dcIf0mWm3HKx/cvEh5rb62I5ePR/Z+p+gIsvy9vie5nCRPfb0b3p4kSTOaecL8DfKLifuUXZ3nZqxYoy/Lr8arlV1Q8/hcJm6m+Hd2/nzCpvT+6/8kaz5knPKYeiO4/Hq3fVbH+vYQJxDeAL9Z433ay8Gf4iWj5y6LH3hDdHwOal3t8Vb2OXK3XEW3zwajs/yl6T4ajbf54qeURbVNO5EcIj7lHmf2slM915XPtMGHt8icqHrNjntfwW9E236xYdjuzCVeG2S+9jwJvB75E9GN3qX/VxxDhl+lXomWVSdiir4G5n82vR2VcLovfqHq+ys/gm6k6t1SU/WS039sr7vdXPV/5e25nxeN2VrzPTvgD4uPRY45WPM+DhD90/yF6TeV4n1f9/UaYUL+bMAlwFmgFBK6veNxN0bJyEjFB+GPvh6OycsJz1kcr7r+WMBn6eMV+3hr93QS8MNp2Oor7/YTHaR54yjwxbWb2e+IxwmPml4BtVdtVvo81z1HV7yPw61FZOrMtpj/DAufPGvH9arTd/1vkmC2fZ4eBJGGFSrnm7sUV25Vr/P7vSu5ngTjjhN/jDvxDtOyV0f2Riu2uqiijy5eyn2j566JlP8E83wXRduWKxbcsGvMSXtQtFcFW/uWZ/VX0WLTs7yse99lo2ZerPvSnma2pfEO0bIrwS+vm6hdVfeBFyw5R9WVJ+Mvrd4C/ZDZRc2Yz+vLz31L1+uYsB/6gRpw/VbG/fuaeeH4u2ual0f3x6P4eZj/AbwV+PVperu7/chSzA79B+MXt0XOVmzs+XfWYgxX7Kx+kt9QqJ+BpFTHeGC17asWym6te/zDQGi37j8r3k3maxZcY1+crX0u07P/Vei+q3pdy14u/WGCbet+rX53nxPckc2uZ6i7vaFkPYW3cnxDWXB2ItvlwxTZzyr/WcsIaknKtxG9G643ZJO6dVfE/wmxtzv2Vj4uW7Y/+OhYoy/Lr8arlzRWx/R5hK0H5/j9HZfNv1cdHxf3/Fd2/sWJZTxSPE/44eAlwOeFJudzstLPGPt9c67gB/me0vJyYlk/07zyX42spryNa1krY5eXN0fteTl6+u9T9AJsq7r802mYLs1/gr4qWlX+c3sLssXkqWvbmeV5DL2FyHBAm9ZdF208DXUBL9DwFwh+U1xAmnAs23S10DFX9fR7YVLHdoq+B2WP73orH/U207OEFPoNnHSMVcZQ/SyngZLTsd6ue7z21jj/mtjq9umLfyYrb/YRf0n8evabyc5Rrrm6u2Ee55aqc+N+3SNmWKwr+Obpf/qH17uh+OYn/fxWP+cdo2cHq56/a95ej5XdWvB+PVpbHPDH9MrPNsOW/EvCnNc6x856j5nkf31Pr+Sue5+ZFyuv3ou3ev8A2P0z4GQiAn42WVX4On1+x7S3Rsnc0cj/MzRHKf9U1wQnCihMnrMTaFC3/3WjZkYptd1Y87zOXuJ8bCH9c/nX157jGa/2zaN3bFzsfJFi6hwir76cJaw4+5e7HonXbo//3V2x/X1To25nroLtnq7ZvIqwRrWXRGM3sb4A3zrO6j7BZaKnK8VbGeV/V+uMV978X/T8T/W+N/vcTJs9lXyfM+m8h/IX3dOAHo3W3ECZ3EJ4AnlvxGAg7JQPsrtonwLZFXkdl/PfMsy2EtRQT0e3ya2lbYPulxlWO48GKdfcDP7rIvk9G+7hkgW3qfa++Ns9+vu3uuYr7dZe3me0iTCq6a6zum+d557OB8DMB0WfE3d3M7iesSaz+TN3u7kF0+6z3zt3rOf6rVZb/SWbLBsIaqGrbCH/8lVV/PgDa3P1hM/tdwpqz8mC6KcIE4n/VGeM7CZOK748GnP1UtHyhwW1LOb4q1XwdZlYi/FLeVeMxtd73mvshbLEouw/A3Y+b2WDVfsrl/1xmzxNlNY9Ndx80s08CP03YHFs+tj7q7sMAZvbLhD/W3hutywPvN7NXVxxb9fg7wi+tZwLPJuxqcHIZr+GBitvl74vq47/SQt8X5c9S3sweJSzXhfZVqfK4/6/yDXcvAJjZTYQ17+kaj13KcbDYufadhMniy83sHYQVBeXlMP93cOW6+ZRf23XRX6X5vl9w93ea2b8RvsdPI/yBdRnw+2b2Lnd/omLzBc9RK2Ak+t9Ra6WZvZGwIqoIvMLdPxKtOh0tS1TFV749XLGsEfup/n6BMMEcivbfRVgL/f2E7+0L3b38OTpRtc/q2zOxLrKfnyM8bq8ws/8gzF3Kj/sPwh8L340WlctzTjnUUs9URLe6+xvd/U3u/o8ViSWENT8QfvGVXVm1rmyPmWWqtpkmfDPKyQ1mVv6SXnQUHGGmDfBXhIX09Ip1Fv0vRv8Xe83leHebWflEcWXF+iNV2xei/1650N1vcXer+Ls5WnVL9L+Z8Mt5FLg7+iAeJvwC2Fq1bTmmr1Tuk/C1lvdb7XDF7cui/1fNs23l6zjrtTBbdjC3/JYSV7m8Lq94XGV5zucT0f8Xm9kzKleY2e5oNG+971WW2qqXL6e8f5wwsRwnrGkz4AvlkCu2K0X/FzoOBwk/ExB9pszMmP18VX+mFnrvMLP90V/NE+18os/pn0d3pwm7u5SfOyB6nRXls9fdvzlPbHPiMrM48FfuvpUwsXohYW3Z75tZP7XV/Ay7+xBh86oR/oC7hLDLzrcXeHlLOb4WfR2EyVE5sbw+iu1fyruq8bzz7eesz6uZbSasdaxULv8/qCr7HsJasPm8I/r/84SjcCFsyiz7sLvvJjyGn0WY6P8i8Iwolu3RMbToSFcAd38DYcvMtwjPde8ys+QyXsNC3ynl74vO6PMBC39fXBm9lhRhv/bKfS2mcruZ46XiNb2C8PzwOOHxHCOskIEax0E5KaXG53UeHyD8DHZGtyGsECgf40v5Dp45j5tZrfP4u6rej1Zmj5U5zKzHzG5095y7f9Xd/7xq2+rEccFzVB2Wcv6E8AcfVH3XmFnSzN5O+CN2gHBcSDkhxN1LzFbCPC16TAez5fqdRu6nKkco/x2Ktr+UsIb6+wm7zDzD3StnEym/xg4z2x/dfmb0f4iw5Wwp+ykfnz9IOAjpmop1P0JYC1tWLs87WcxiVZvUGNBTY5tfY7ZK/MPMNqsGwI/43OaKEmf3uSz3IWhjtpr9Pwmb3cr9FiqrzA8xt6mo3H/pMcKT6BNUVZ8TnlQ9es63EVXdc3azeD/hG+NRnO9idrTeR2pUPe/0BZoc5imvgxWPr2zGeG/F8hFmmxGuZ7ZP1LeicvkUYRJSbkZ6VWU5EX74yk25TxL+wj3C2eUy5/V77SaiZMV79QXCX1aXLzGuymbqTxP2uQyqn7NGGXUy23e2QNiU/i+ETTjFaP2y3qv5XmfF8uWUd+Xr/DjhZyBXo2zLXUi+E5VjuXms+n35v8wer+8lrBXxKK7r5ouf2c/rmyuWlff9qgXK+1UV272VsH9ZuV9igWhgDOFxVW6SO074eXs/4UjIJ2o858213ofo7wzwScK+ip+K1uUJfx2f9b4xz2c4Wlc5wMCB31nkM9jJIsfXEl/HTRX3v0DY57zcpeHQUssjWlYugzOEn9cDnN3nstw3qhCV3b8Q9o/MskBTIeEXyKMVz3l/1fpxwq5MbyNMXsrPe8V8x9VCx1DFssruOb+21NfA7LFdip67ss/lb0Xb7Ga228CHmNs945YaZV/uc1keaDFF1EeQpfW5/FBF3B8jrBkvf/5/O1pX7pv7dWY//+V93lyjfMpldmi+cq3YtrK7lxP1PY3W/Siz59X/IDwOy+X1q9E22yoeW+6zuKnqsV+IjoHPRsdEzXMGs4NJHiT8zv9nwqZvJ/z+TS71HFWrDGo9bqHzZ4344syOMdgzTxl+lBrN0VF5lM9FlaO87654XQ3ZzwLvdQ+z321DhINgy/v/9Yrtyv1oq0eL/3Y9+1nscxwtbyf8zEwRDVpa8DUs4YAuHwjvWWS7lxJ+6YwQfgl/jagjc7T+zdF+vk44uvJ09PfPVHS6J+xQ+lhUSF8inFup+sA7xNwT7o2EyUV5hN7PVrzx5ZNVhrC2ojzgY7AqrsqT0R5mp2KZIkxe30TUL49zTy7fWfH4yr5xr6pY/v+qHnMdYXJ2LHqdhwlPIE9d4APaz+xJ4mBVuTxrgdf/nur3nHCQ0VFmT0I/upS4om3+O+EJZxL4d2Y7Bd+ySDk1E/aduSt67BRhF4e3Mjuat+73arET2HLKm/DL+68JE4NRwias99co2x8nPL7LX4rlvrjVx2uMsCP+XdH7d5LwS+P6Rd6nWzj35DKIyvLx6DXcWLVtB2GN5iPMtjp8C3h9jee8udb7QFhD9inCBDZL+Hn/HvBjC3zGan6GK57zv6LlRWDLEj6HSzm+Fnwd0bL/Gb0/5dkQ/qry2KhjP52Eid0w4WftdYQJvBP17Y62e0n0Woei53yYMEGfd8Rx9LjfqXjON1St+0j0fpenGrkH+IWFjquFjqGq5Z+Klh8nmlFgsdfA7LH9oWj5SPT4P6ViGjHCgRtHo/18gvDHTvVnrvya/zuzo8XvAr5vvs/SPO9PirD71T1RGY0SDVQiPDb/LVp2GvhDqr47OffkstxH3wkT196q9c8Dvkr4/TtC+H380qpt/pCwpq28nyuj5d9H+MNqICqfxwgHqu6bJ5Zu4O+jcjxDmEAdJTz+L63nHFWrDGo9bqHz5zwxlvti/1mN5671t7Niu58hTAZz0et7H7Cx0ftZIPadC+y/8thuJfw+PRG9BweYex5e0n6W+DkuDzR+22LxuzsWPWjFmdmbCQ/sr/tsE7GsIDPr8qhPVXT/ucw2tW919+M1HyiyDpnZ/yBM8D/n7j+y2vHUK2o2G/PopBz1H32c8IfLM33hZv4LioVXdHkl8F53f9XqRiPrUdSt52GilhB3H13lkNYtM0sQluVGwu5PpxZ7TD0DemT9eYOZPZ8woWwiPFkDfECJpVwozOxywiao8gCjv1zFcM7FTxB+Zr9ANPKUMLH8FlEfLRFZGg8Hee5c7TguBB5eoWdPPY9Rcnlhu59wDtDfJKwyf4Jwmpy3rWZQIg12E2H3mdOE/fG+tsrxLNdj0f9fj/4fIuy28ld+vpqYREQa4Lw1i4uIiIjIha+eqYhERERERBZ0QTaL9/b2+s6dO1c7jHNSLBZJJC7It6cuKoeQyiGkcgipHEIqh1kqi9B6LYc77rhj0N3nu5jMurP+3oEl2LlzJ7fffvtqh3FOBgcH6e1d0nzFFzSVQ0jlEFI5hFQOIZXDLJVFaL2Wg5kdXnyr9UPN4iIiIiLSMEouRURERKRhlFyKiIiISMMouRQRERGRhlFyKSIiIiINo+RSRERERBpGyaWIiIiINMyaSS7NLGNmt5rZPWb2gJn9UbR8l5l9z8wOmtlHzCy12rGKiIiISG1rJrkEcsDz3P0a4FrgBWb2NOAvgL9x9z3AMPBLqxeiiIiIiCxkzSSXHpqI7iajPweeB3w8Wv5e4MXnPzoRERERWYo1dflHM4sDdwB7gH8EHgNG3L0YbXIU2DrPY18DvAagv7+fwcHBlQ94BY2Ojq52CGuCyiGkcgipHEIqh5DKYZbKIqRyWBvWVHLp7iXgWjPrBD4J7K/jsW8H3g5w4403+nq8tmi1C+E1NILKIaRyCKkcQiqHkMphlsoipHJYfWumWbySu48AXwOeDnSaWTkJ7geOrVZcIiIiIrKwNZNcmtmGqMYSM2sCfgB4iDDJfGm02SuBT69KgCIiIiKyqLXULL4ZeG/U7zIGfNTd/8PMHgQ+bGZ/CtwFvGs1gxSR9WNwpIgZ9HSspVOdiMiFbc2ccd39XuC6GssfB246/xGJyHpWCpy7DuQAeP6NcWIxW+WIREQuDmsmuRQRaaR4zLhsZwozlFiKiJxHSi5F5ILVvzG52iGIiFx01syAHhERERFZ/5RcioiIiEjDKLkUERERkYZRcikiIiIiDaPkUkREREQaRsmliIiIiDSMkksRERERaRgllyIiIiLSMEouRURERKRhlFyKiIiISMMouRQRERGRhlFyKbIMQeAEga92GCIiImuOkkuRZXj0aJ5Hj+ZXOwwREZE1J7HaAYisR1t69NERERGpRd+QIsvQ1hJf7RBERETWJDWLi4iIiEjDKLkUERERkYZRcikiIiIiDaPkUkREREQaRsmliIiIiDSMkksRERERaRgllyIiIiLSMEouRURERKRhlFyKiIiISMMouRQRERGRhlFyKSIiIiINo+RSRERERBpGyaWIiIiINIySSxERERFpGCWXIiIiItIwSi5FZEmmsgH3Hczy5Mn8aociIiJrWGK1AxCR9eH0SInDJ4ukk0b/xiSxmK12SDMKRWdotETJobs9Rial380iIqtFyaWILMnGrji7tiToaImvqcRydLzEXQeyTEw7AMkEXLM3w6Yend5ERFaDzr4isiRN6RhXXJJZ7TDO8vDh3ExiCVAown2P5ehqi5FWDaaIyHmnM6+IrFuT2YChseCs5bm8MzJx9nIREVl5Si5FZN1KxCA2z1ksrrObiMiq0OlXRNatdCrGtr6ze/f0dMTobo+vQkQiIqI+lyKyru3pTxMz48lTRTxw+rrj7N2eXlODjkRELiZKLkVkXUsljf070+zuTxEErkE8IiKrTMmliFwQkgkDVFspIrLa9BNfRERERBpGyaWIiIiINIySSxERERFpGCWXIiIiItIwSi5FREREpGGUXIqIiIhIwyi5FBEREZGGUXIpIiIiIg2j5FJEREREGkbJpYiIiIg0zDkll2Z2oFGBiIiIiMj6t+Rri5vZOODlu9H/5vJyd29vdHAiIiIisr7UU3P5r8CngL3u3ububcCT0W0lliIiIiKy9OTS3V8P/C3wITN7vZnFmK3JFBERERGpr8+lu98BfH909+tAplGBmNk2M/uamT1oZg+Y2Rui5d1m9iUzezT639Wo5xQRERGRxqp7QI+7B+7+d8DLgF9uYCxF4Dfd/XLgacDrzOxy4HeBr7j7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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Weighted Pearson correlation (population-weighted): -0.021\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "\n", "# Filter for valid numeric data\n", "corr_df = merged_all.dropna(subset=[\"density_change_pct\", \"vote_shift_pct\", \"pop_density_2024_true\", \"land_area_sqmi\"])\n", "\n", "# Approximate 2024 population (density × land area)\n", "corr_df[\"population_2024\"] = corr_df[\"pop_density_2024_true\"] * corr_df[\"land_area_sqmi\"]\n", "\n", "# Scale bubble sizes for visibility\n", "corr_df[\"bubble_size\"] = np.sqrt(corr_df[\"population_2024\"]) / 50 # tweak divisor to adjust bubble size\n", "\n", "plt.figure(figsize=(10,7))\n", "\n", "# Add regression line (unweighted trend)\n", "sns.regplot(\n", " data=corr_df,\n", " x=\"density_change_pct\",\n", " y=\"vote_shift_pct\",\n", " scatter=False,\n", " line_kws={\"color\":\"black\",\"lw\":2}\n", ")\n", "\n", "# Add weighted bubbles\n", "plt.scatter(\n", " corr_df[\"density_change_pct\"],\n", " corr_df[\"vote_shift_pct\"],\n", " s=corr_df[\"bubble_size\"],\n", " alpha=0.4,\n", " color=\"royalblue\",\n", " edgecolor=\"white\",\n", " linewidth=0.5\n", ")\n", "\n", "plt.title(\"Population-Weighted Correlation: Density Change vs. Republican Vote Shift (2020–2024)\",\n", " fontsize=13, fontweight=\"bold\")\n", "plt.xlabel(\"Population Density Change (%) 2020→2024\")\n", "plt.ylabel(\"Republican Vote Share Change (p.p.) 2020→2024\")\n", "plt.grid(alpha=0.3)\n", "plt.show()\n", "\n", "# Manual population-weighted correlation\n", "x = corr_df[\"density_change_pct\"]\n", "y = corr_df[\"vote_shift_pct\"]\n", "w = corr_df[\"population_2024\"]\n", "\n", "# Weighted means\n", "x_mean = np.average(x, weights=w)\n", "y_mean = np.average(y, weights=w)\n", "\n", "# Weighted covariance & variances\n", "cov_xy = np.average((x - x_mean) * (y - y_mean), weights=w)\n", "var_x = np.average((x - x_mean)**2, weights=w)\n", "var_y = np.average((y - y_mean)**2, weights=w)\n", "\n", "weighted_corr = cov_xy / np.sqrt(var_x * var_y)\n", "\n", "print(f\"Weighted Pearson correlation (population-weighted): {weighted_corr:.3f}\")\n" ] }, { "cell_type": "markdown", "id": "b957ca80-1782-4b19-b09f-f4b9805f877e", "metadata": {}, "source": [ "#### Swing State Population-Weighted Correlation: Density Change vs. Republican Vote Shift (2020-2024), County Level" ] }, { "cell_type": "markdown", "id": "dee0f773-a18e-4160-9bc2-aeb22d7175fa", "metadata": {}, "source": [ "Each **dot** represents a **county** within the swing states, positioned by its percent change in population density (x-axis) and change in Republican vote share (y-axis) between 2020 and 2024. The **size** of each dot corresponds to the county’s **population**, giving greater visual weight to areas with more residents. The **black regression line** represents the **overall population-weighted trend**, showing a slight negative slope that indicates a **weak inverse relationship** (r = -0.02) between population growth and Republican vote gains." ] }, { "cell_type": "markdown", "id": "833326fd-6bfe-4eaf-a12b-fca9a5aff91b", "metadata": {}, "source": [ "This suggests that, weakly, counties experiencing the fastest population growth generally leaned more Democratic. However, when viewing the data at this aggregate level, **several larger, high-population counties stand out as clear outliers, showing both strong population growth and increases in Republican vote share**. These high-impact counties visually pulled in the opposite direction of the broader trend, **hinting that population size might be an important factor in understanding the true dynamics beneath the surface**. This observation prompted a deeper analysis separating counties that trended Republican from those that trended Democratic, revealing that the largest and most influential counties were indeed driving much of the Republican momentum in 2024 despite the overall negative correlation, as we explore below." ] }, { "cell_type": "code", "execution_count": 12, "id": "41b75a07-7241-4e3d-b135-96d2ef605e83", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABDAAAAIFCAYAAAAk8w0yAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAC140lEQVR4nOzdZ5gc1Zn//e/dk4NGWUJISAIhQICIIogoTLBxxAbnhO11wl6vn3VOuzj+7d21zTqts3HA2cbYJNtgC4zJQQRJIAkQICGhPDn3eV7cVdM1Pd09PaPpmZHm97muvma6qrrq1Knq6lN3nWAhBERERERERERExrPUWCdARERERERERGQwCmCIiIiIiIiIyLinAIaIiIiIiIiIjHsKYIiIiIiIiIjIuKcAhoiIiIiIiIiMewpgiIiIiIiIiMi4pwDGBGJmV5pZyHq1m9nDZvbvZlY21mkEMLOFifRdPozPX2pml5vZ+3PMWxmtd+MIJHWo6VoVbfuZrOlXJPb39YnpBySmf3uI29oYfW7lMNJZdP5Hy14evY4b6rYGWffliXQsLGL5SjO7zMz+YWa7o3N7g5n9xMyWj2TaRspeHqcVibyfkjVvSHk3krLOn/jVbWZbzOwPZnbSMNd7XGJ/F45wsseNrHzrMbMmM3s0Oo9PGev0xXKdu4XOyRHa5gIz+5qZPRZ9v3eb2f1m9p9mNiNaZszO/f1RIi+vHGS5y23g9741Oj7vNTMbpSQPKiojxGlcMciyfeWmxLRxe46Z2Y8TaTs+x/xXJeZ/cgjrLen118xebGa3mtn26Lu9ycz+bmafzlqu2PMx5zE2s6PM7C9mtit5DId77TKzi6J1bDSz8mjaMWb2LTN7KNpOS/T/R8ysKsc6zjCzv5lZc/T6m5mdkbXMmWb2QzNba2aN0es+M3u75Si7m9nLzOwOM2uLrpPXmNlRQ9ivhWb2ZTO7N3FM1prZF81sco7ljzazP0bbaou2/bKsZYaUL4nPfS5xrHqy5p0fTd9sZjXF7p/sB0IIek2QF3AlEAq8fjDWaYzSuTCRpsuH8fmV0Wc3DmXeKOzXdxL7dWBi+h2J6V9LTL8oMf0tQ9zWxuhzK0uZ/8CKxLKXjnB+XZ5Y98JBlp0G3FXg3P7DaB/vUThOefNnKHlXgn1aWOA4BKANWDCM9V6aWMeKsT52Jcy/QnmXBj4y1mmM0jng3C3leQdcCDQXyJuLSp2GifhK5OWVgyx3eYFjE8bLeRultehrCYlyU559XTjW+5OV3hcl0vb5HPN/nZh/WCnybBhpfmuB82brMM/HnOkF7smxjYXDOab4Q+DV0Wfen5j+0QL7c0PWOp4HdOVYrgs4J7Hctwus8/+y1vnGPMs1AkcWuW+vKbC9B4HKxLJHRevOtewbhpMvic8cCnQkluvJscwqxtk1Rq/Sv1QDY+I6B7/4ngBsi6a91cwWjV2SSi+EsCKEYCGEhWOw+bsS/58KXmsASD4lOSXP/8nPDiqEsDDazxVDTeQ+6sfAydH/NwJHA1V4weSDwM6R2IiZlZlZRYH54+IJQAjh8uj4Wwhh4xgm5ZYQggH1wHXRtBrgpWOXpH3GU1HeTcELk9sAA75oZheNYbqA0b3GmNkC/MarHugFPgzMws+l5cDP8AKsjA9vASqA1yemvWOM0jLixtH1NZe/ALuj/y9Ozoh+n14YvX0whLBuNBNWwIejv/cAi4Bq4DD8PFo5nBWGEK5MHKPkOo6L/v4FqNjLY/gC4Ej8mvSz5OaB3wGnA7XA2fgNPsALrH8txG/h35XdUdqOi/6viObFeoHv4+XFWuAVQFwb4Z1mNhvAzGqB/42mPwkcDJyHB0QagK8MYf/+BjwfqIu2+1Q0/RjgZYnlvhKtuyva1sHRtgG+FqUJhpYvsf/Fy3JtBdL5k+jvv+aqjSL7qbGOoOg1ei/618BYkZj+v4npr0pMfwlwC9CER0Afxm8GyxLLXJ747FnAH4FWYEs0zxLLbmTgE7sVic9fGk1bmJh2eWLZL+OR1p1AN7AduAY4LrFMvujuldH8ldH7jVl5czpwPf7D0QmsAz4H1CSWuTSxvovxi2ZjtK//BZQPkv9HJj7/X9G0k6L3/4zyrROoiub9nUzUPBVNqwL+A1gbHZM9+I3hiVnbypXXZcD/i/KtCfghfiNZKP8/DXwIeCZKx9XAzBzHfsATjWiZKdFxexz/cdsO/BJYnJXemcBvojx4FvhktO1Bn4jgP6zxck/F+Ze1TPKcrQE+CzwW5fduPOhxRr48BN4QnRM9eAEjue/n4oWhNuCKEThObwX+AWyN8qwpOj8uSSyzMk++b8xxbBYmPjcf+BGwOVr3s/h1YUFimeTx/wzwn9Hy/Y5/geOR/Hxyv96VmP6hrM+8Dq+J1AK0A3cDr85z7cp+lUefC3H+R5/ZFE37XPTeomMdgO8kljsC+EUiv5/CC2STstI4heLO5b5rDnAZ8ESUvpuBQ4q4Tvc7lonp5yXmrcqa9/xo/Y1krtXvof/1N3lOnI1fO1uj/c0+Hufh15/t+HdkM/4duSjfuUuBcxK/kY3fn5FYxyQyT9f+t0CeJH+jvphnmbIc+7kcD3y05NnPj+DB4e34b8pu4K8knnzmuBZcgj91bYs+m/2dPgG4M9qvR4AXk/935xT8N3NndE6tAz6F31gVOkfKo/NrdZTmbvx36OfAwcP9LuPXuQ34d3AlsCTx+SsHSVMy3y9NTN8ZTevKWj4F/CvwQJSXLdE2z8tari/v8PP2vihvH6X/NTG5r5fnSVf8u3RpYtpL8d/CRmAX8A0SvyEMoQYGcED0+Sfx780O/HxaFM0/Df8deDra5/boGH6MRPmBIXxX8xyLHyY+vzQx/eWJ6R9LTL8Uv+a2Rum6l0StTwpcfxPLzAW+i5cV4t+W7wMHFJHeTrKuy0VcH68E3ox/ZwZcX7OO8Qr6lzWzr08r880bJC2/iZb7e9b0+hzLfj2x3tdG005MTPtWYtlvJaafUGCdf0ostzyadnFi2ocTy14fTesFZhSRz7m294Hs8wcvu/VG065PLPvhxLKvGEq+JObF5dM/J45RrhoYCxLreP5g+6bX/vEa8wToNYoHO38A42uJ6a+Mpr07zwU9AL9KfPbyxPQdOZb9eGLZjQy8qVmRWPbSaNrCxLTLE8tuzZOePcCcaJl8ab4ymh9fBDcm1vsS/MY01+f+QVSYpP8P4p4cy75rkPxPkalmd0s07b3R+y8Bt0b/nxItG1eXvilathyPiOdKZwdw+iB5/Zkcn3t2kPx/Lsdnfpnj2Ge/FuI3J4/kmb+LxI1fYt+Try3J9RXI148llvvoIMegIjqmudLUA7w4Rx7uxqvux8sdl7XvuxL/XzECx+mXBfL1hVnncfZrY45jszCatiDP8YyP84Icx39PvuNfII+Tn18ZTavDC+EBv9k6ZpDzMn59MMe1q98rmn9T9P7O6P38xDI3R9OOSkx7fTTtWPI3S7iXTDBxKOdyoby7s4jrdL9jmTVvTWL+AdG0txXIv2/kuVbnStsLEudJexHr25h1jFfm+cxGPKC3PXr/w8Q6ktWUTyyQJ49l73eBZZP7met8f0Fi2TvzpLkLODbHvjbS/1oQ8JvR+DdiOv2vB/H5vi37mOJBp1xVxwPwp0H2sbrAMd8IVA/1u4wHYrP3LXkNvnII+X5pYnocwNiUtfxP8qQ/Tf8HKfF51crA87KXKCDG8AMYWxiYhu8mPn9lPH2Qdc4lEzTNfq2IlnlXnvkB+NJQv6sFjsULEst+OjH9Z4npcVDlS4OlicGvv3PpX5bIPh8L3jDjAZ94+b8DnwDOJMdDocRyub7bdyaWSx7jFYxwAAMPiMfn9heKuK5/L7Hes6Jpb09Me39i2fcnpr+twDr/mlhufjTt84lpFyWWvSIx/dzB0ptne59IrONN0bTzE9OuSCx7UWL6Z4eSL4lr3BN4cOswCgQwouXj8++/h7Nveu17LzUhmeDMO158TWLSA2Y2Cf9RA39acywwG78pA3hVno6vHsGfQByDX0wAPhytbyS8F28PV4c/RX9+NH0y8FqA4FWub4mmPxUyVQgvzbVCMzM8gFOGR/HPxvtTiKsDnkH/arCxHcDh+M1sRzTtkkKJDyGk8SqSAMuiqm5xM5G78MI00bSj8erS8TyifTwn+v/NeB4cjD/lr8KfDucUdUr1/0Vvn8Fv5hbihe1CJuNtz2fjT3UBXmFmqRDC5Yn0gD+xSVarfX+0nS68QFUNLMUL81PxWhCY2Xl4YQX8Ke8MPN/rBklbbH7i/0cHWfb10boBrsKP9dn4sS8Dvh6dE0lT8Cci0/E8eyJr/nP4OT8JP5eGfZwi38W/c1PwgMsR+DEDLwATvNp+snOzg8PgTaM+jVe7B3/yOTn6SzT90zk+U02e4z/IPsTONu/8roVMs5H/CCE8BGBmBwMfj6Z/Ez8eU/EaEQCfMbOp0ff3LYn1nhOfa9H7f0R/j486Azsteh+Ak6Pv2mmJz98a/f0K/j1bj5+r1WSqXZ+Y2Ob7KeJczjIZP/7T8IImwClmNi/HssVKVvmeb2b1ZKoE/x6YE+1PfI5dZmZLcqznUfym4/mJafH1axm+f+A1xKrwoMbrgNvyJazQORlC6MSfCgO8Mko3ZPJ6TQjhvnzrJvMdbwwhbC2wXLYnyb+f4MdtCV79uRLf9zb8e/e2HOtrwGuHTcVv6gAOInMd//+ieeA3ElPwp5Yzc6zrm9F2bsevKzVkrtEvNrMXFNivbvx3ewF+rOqAf4nmLSDTTCBpsO/yp/Gbsl681shUvGbZsJhZuXmn1NOiSb9NzDsTb6cPflM0CT93V0Zp+GqOa0wtnmdT8OrzAQ/057puDcUuvNnCQrwMA96c9uAhrucz+LkGXvPgQPy37I148A78+3MWfj5U4OWluGndO/NcVwt9V/O5iUyzyUugr7nqS6Jp94cQHo+aDH8wmvYwcAj+WxWfHx80s0VFXH8/gx+/HXjz2Cr8N70TPx8/SGH/l/h/BV779VZgs5m9Jecn/Der6OtrCGFlIr0AP05cn1Yw9N/TBWTO7dUFlsPMFuPXT/BreHwdnZFYrCnP/7PIIfoOPS96e1MI4em9XWch5p0kvyd6uwv4w95ur0C+gPeXcTDw5VBcU6f4GJxYxLKyH1AAY+L6e3Rj8QCZwtVPQggb8IJ+HHT4XgjhoRDCNvxHKnZBjnV+NoTwXAjhYeAH0bTJeMF/JMSF4GfxQuafE/MOG+Y6D8MLLgC/DSHcGkLYjRdSY7n29cshhHUhhAeBh6JpBxWxvThIUYvfACUDGHGg4hRy939xYWLaj/GnUU/iBXDwG7VacjuGTEDkeyGENSGEp4CvDpLea0IIN0bH/4ZoWgVeCB5MnN5KPDARV22Pf8zim/zkjeUXQgg7Qwj/xKs4FyMUuRz0LwR+IoSwO4RwK5nC9UJgcdZndgMfCCHsCiE8FUJoypr/HyGEh0MILSGEJ9i74wRe0+hy/Ac9riodn1vDPc8hs+9PhhC+EUJoCiF8A38CBbnP8705/vl8NgpagT+9idusvgcvGO0mCkjiN3WnFrHOOCBRiRdg4lFn/oSf90vJnGcbQwjPRMfg7GjaYrwA1IG30Y3F52ix53LS3SGEn0TXk+S5XMx1Ip/s4Npp+E01+E3dFjxY9IHE8ityrOfTIYRnQwh/IdMHUpyupxLLfRw/LkcA14YQfrkXaY87Ma7Hgxg1ZPL1p4N8dijf8aRC+wn+dPt/8e9nB17rJv5u5vqubcWbsOzBm6bE4nXG51g78JkQQmMI4WtkApAAmNlh+E1z/JmN0WeS1+Nc5xQAIYTeKJ2/xW8aW/Gb5liutOf9LkcBvrgPoVtCCNdF+3h5vjQM4kd4kCV+4n8VfkMSS14jP4/XgtpC5lw9EH9AkNQFfCrK06vJ3OycliPoPBRfCSE8kfV7mHy4UKx4n7YCl4UQtkS/ZT8LIcQ3V5uAV+MPMtqiZV8UzZtM7hu9wc7hAUIIPWSuOUea2RH4tTa+Vvwq+nsemfuAL4cQnowePsQB0BReM2cw8b7PwMs4nXhQOR5ZIu+5HKX3v4B3MvABxCzgB2aW6zegFNfXoUgeq7x9bJnZfLysWouf56+OHmYVkjyfB1z7zOxYfJ9TeHn4rUWkt+A6C37QH4DdgAepevAajNnloCFtr1C+RMHDj+DXzc8Vmcz4GOxN2UT2IQpgSBf+ZPhjZJ44JSOqyYLXpsT/uZ4oJZfdnPh/bvaCCUV1uGM+fODv8acXkxlYkK8e8KHiDHdf1yf+j2tgVEHfUILZw8ldGi2T7IzzhfiN0+YQwmb618BI/mDHn8mVjiQj8/Qv25zE/8ljsyl7wSy59hMyBZNCBktv/PQiX9qepThPJ/7PLvRmSx7vTXn+z073uugJcj4PZ70f9nGKhif7M95WeRYDvx/DPc8hs+/Zxzx+X+x5DsUdf8h04llNprZHGZkb7MHyCjLnSSF34TdM4N+d5Xgw5Mpo2nIyN5dxsGMqg19/4m0Xey4n7W3e5ZIMrj3F8PMv7/UrhHAvflPZjp+HX8HPyefM7F8Ypii4Fwed30qmc7g0/TvAyyX+jk+OO6srUqHr9EK8UH4BXrsquzyU67v2eOLmI9cxja9lO0IIXYn5yesa7OV5b2YX48H8k8gEppNypb3Q+TgDD2bA8K7BhRj+QCT5mz2c/d8ZQmhPvI/TWZ1j2aTBvuPDKbfkEu/TEyGE7jzL/AQPCC4kk99JxR63Yq4hyQDbK+lfayOeN9zyT7bhXB/7CSF8N4SwBA++vQdvLgd+3uTq9LkU19cRFd2kr8RrErQALwohrEossiPxf0Pi/2St5e2J/+Na0zfj16yteJ8xyWNX1Dot93DnA4Z0N7OpeI2eZXjw4nUhhBv3ch8Gy5cP4N+FHwCHRftcn/j8cWZ2AP3tTRBT9kEKYExccRXAqhDCkSGEL0ZRe+h/QZqX5//kMrnmJ3/840JBfBOY/JFeWGR6L8L7FgCvBllJ/wtk0lCiy8Pd1+RY1EPZXjKA8e7o750AURBjE/5kLn5a/lQI4bmsdKSBaYnmGnFVzlS0jlySBdFkwGCwpxWD7WehfY/TuwvvYC87vZXR/C2JzyTPmwMHSVssWRPnXVFV2X4SPVMnj2VyW4WOdweFZc/fm+N0aiItXwTqos/kql4/1KfScbqyq9jOzZqfNNzzvJ+sJgTgVZWzt3lRnry6arDthxDayOTR8/CmXXfi1fPBrxnxU+m4uclu/BiBD7NrObYf10op9lxOGpG8i5nZ+WRq8ayKrgvJ/Ht/nvz7/FDTFkL4JH5zczrelvxOvDbM18ysPHv5QuvKElcVP4NMtfKVIYTBAqnJ7/i/5VogT+/zhfbz+WR+Q96D9xsRt2vPZ7BjGl9np2eNVpT9nUsetyvynHuFRu2Ib0Y78IB3OV7LqJBCad9BJgA4nGtwtrfgNzPx8X4p3tF1cnux4/Kct//MWud0M0uWHeJ0duDfy2SQeShljMHKLcWKb9IOyfUdiWocxbUtbgJmR/s6WJPC4V5H/pZI06vJBAHuCZlRN4ZS/inmt35VnnO5YM3BZDPjEML6EMK36N+0OVcAZESvr8NYx7bE/9OzZ0YjJ63Eb9IbgfNDCP/IWuz+xP+H5fn/gcQ6jycTvNiE9xmxdojrTOPDoA4qCl78Fa/V2IV3mvubrMVWkfkdLWYfismXOFhxefTZB8g0DSmL3r8r6zPxMXgOmRAUwJBc4tEAAN5uZkvNbCb9m1Xkahv7STObbWZLydTmaCTTNi0upB5tZgdG1dL+leIkbxCa8QLKF/Isuzv6OyNHlDbbOjJVpi8xszOjdCWbywypHXCI2lpmva6M5m0jM7xUXEhIBjXi/+fmmBdHvVPAt81srplVmdkxZvZ5CjcHeYjMMX2bmR0W/ZC8fyj7lsPuxP9HZt1ExOmdBnzFzGaYWY2ZnWJmXyczdFqyoPpxM5tuZqfhT38HFUJ4AG8qAF5YvdrMjjSzCjNbYGYfxPuVgP7H8nNmNsXMziDTFn8j/fsZGI69OU7J87wVCFE78hNyLJvM+6OLSFe87web2WVmNsnMLsMLEsn5Iy4KKiWrucb9GPyVTOHnc1EeVUZPh95Dpm0z9N/fo3JUG49rVlxI1LdAdJP/JN5vRb/loqBH/JmXmNkbzawuOideaGbX4DW+oPhzecSZWYOZvYr+zSz+M/p7O349BPiQmZ0enWsHmtmb6V+YLXZ7S83sU3gBdDXeTCEugNaQP3AMg5+T15F50nt69PcnOZbL9hUy168PmdkHoutEtZmdamY/w/ttGIrkd60FKDezD5PjZmQI4oBZLfCR6Dv2PgYGMNaR+R34FzO7MNqXmWZ2iZndgrexHyztAT/+Uxh+c4+4SUr8W3N2dP7v7Tqb8d+XjdGkd1lmmPbkE9wrzOzQ6Ht/uJl9FB9NJVsl3idOg5m9nExfRreHEAJ+4xIHYc6Jrv9H4w8/Cvn/zOzg6Pcw7oMkmR/Fuj76ewDwDTM7wMymmtlrzewo/JoUl7k7gXYzW0amL5ARFR3T30dvjyITBPhVYrGbyFx/PxBddxcA/x5NS0fLQOHrb3w8jzOzD5vZZDOrN6+N+hNy9yOWdJ+Z/U90Pa01swbgVYn5jw3y+ZEw1N/Tp8j0IdZv+ayb9F14p5l3kiV4vz/xvr3GzI41bx4SB28eDSHcH63zePxYTMO/U2eFENYz0A2JfXlXdEzPJdMU6K8hhB0hhI25gk0hGhbbMjUvTsSDhBeFEK7JsQ/byZwj55rZuea12+IAwy6i86PYfBmmuKl6ob6UZH8SxkFPonqNzos8o5DkWfa9iWWzX79JLHd5Ynqu3ryTo5AkRzbpjF5tiWmXRsstTEy7PJr2vBzr3pD4/8rEdj6WY9l/ieatJKt3aXw863yjkNxO7lFIViQ+P2Cdg+TtL7K2kex5+YNZ8/49Ma8C76A033FJ5sHGaNrKxLRcoz0kj9mb8+V/jmO9MJpWy8Be9zdF8ybjzZPypTe57lyjkOzI3l6BPJ2GDwOXb1t/SOTh7XmW6QFeVigPC+XFSBwnco9i0EGmd/vkebs8x7p/VuBYLSQzEkT2a3vWckUd/zzHYmGebSRfySFSv1BgueT+HoTfoCTn35aY/+Ksec+Lpl+VmLYlK60nkBmCNddrxTDO5VzH+dLsdRbIv0L5liYxNF60/DsLfWaw48fAc3BFgfXdme9zg52TiWU+mZjXSo6h9fLky4XkHzEmEPW4P4T9PJyBo4DsJDPU7spB9jWZT/FvV67vbw+Z792Tic+/kIHnc/JV6Dv21hzLJ38P49/NhdnTClwfco1CkrwGXznI8Umu89LE9H9JTP9xYvrPC+x7Mp9XRtOaGfhd7RuFJFr2V4l5LdH+JMsY8b5empg2mqOQ5Pqd25BjXQPWP9hvUp5jkl1uShONVpFY5n8KHIf/Keb6i3eym2+UuH7nQ550FvrsVmD6UK+vuabl+3yx164c6Y6HUV2ZNf3yHOtKvpLfxeeRezSiLhLDOVN4KPHs79wb8yzTCBxZ5Llz6SDbS+b/UWRG2Mt+vWE4+ZIjPSujZXINo7owsQ4NozpBXqqBITkF79zv5Xh16xY82LAG71jntXk+djHeM3EbXr3uM8D/S8z/HvDf+A9SJ95ZXr4eprPT8zc8ALIRb5v9N/p3yJj0dfxpZa4q8bnWfQ3+I/Jn/CLcDTyOV+E/L+RvzzpcySc7vfSPGGdHo/uWjdLxfPzp61o8DxvxPhiuIDMaQT6fxvdpJ14Y/CneA3xsd7E7kEhTG/5juRr/wU3Oa8QLBV/G87MLL9zfh7exTz55vQQ/H9rxJ2mfxUf+KDYdu/Ancu/Fa3Q04vnzBN6+/r+i5brxjsu+gBccu6Nl/4Lf8A54wjBUe3OcQgg78YDa/XjgYnX0fkOOZe/AO1l8hsxTtELp2oi3mf8J/h3sif7+FDgpZKoVl0LAeyW/Fa+G2vcUMITwceANeGCpBT8HNuDH7bLEcs/g1eofp3/14dg/yeRDLx7QAq9RFutXVTX4062T8KBi/AR3Cz6U3/uJajAM8VweSWn8u/pYtI1Tgnd4l9yH7+A39zeTOe+fxJ++DvbkM5cNeI2l1Yn1bYymXVTog0Wek98nc/yuDiG05Fkue9034M0kvoG3f++I0vcAfm3LO0JKnvU9hletfzRa193497ZxKOvJWudOvLPEu/Bz5FH82hY3k9udWPZ6fKSGP+LX5C48327Az/NC/U/8CL8ZeBYPAv2e/L/Lxab9ZuBN+LnTiednMR04DubHZGqbvN68A1Pw7/z78OPXgX/3H8XPs09krwTPowvwDjA78Vosrw4hJI/7e/HODZvw780XGLyj6nfhN4dNeKeu34zSNSTBmwUuiz6/Eb+W7MKfTse1jl6P10JqwZuofIjB+3/ZG7fQv0r9XSEzWkWc7g/iQab78GtvB37de3s0L14u7/U3WucyvIz3DJmhg+/Aj2Wyxk0u78HPk7X4d6QH/85chQ87XqhZ14gY6u9pJG4WeUZUS3k42/0bXv78O/5dbo3+f14I4e/DXOdP8Wv1XfgxbcRrqZ4eQlhT4KPDEryT2tOjbTRG27wLDyqX8vyOxTVoN9G/1qbsxyx49EpkWMzscjLVmQ8u8U2Q7IWo+m5FCOHR6P0MPGhwFl54nhe8OqCISElETQwfxDtdOzcqwO83ourat4eow0kzezUeIDPgqyGEfy/0eenPvFPBs/H+oBaObWpEMsyHvX0YOBKvLTtYsExKwMwexEfa+0h2gF/2X6qBITJxLAfWmlmjmW3Cn77Hbfz/U8ELESkVMzvZzNbhT9ANfxq8XwUvIt8Bms1sk5ntAX6J7+/TwJfGMmEiMnKCj0gU1xZ6vxXu4FhKwMwuwIMXz+K1r2WCUABDZOJYjTeV6MDHym7Gq52/PITwxbFMmIjs92rxYWDT+HXn1WObnJL5Jd7EZQre6ekG4H+BZSEzopSI7AdCCH8I3vnlgpAZyU9GSQjhL1H+zw39h1mW/ZyakIiIiIiIiIjIuKcaGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAIXmZ2UIzC2YWxkFaLo/ScuUgy62Mlrt0dFI2corZRzPbGC2zInq/z+7vaBtP5/NEZmYVZrbBzJ40s/KxTs++ysxuM7PdZjZ1rNMiE8d4uo6qXNC3jMoFwzSezmcZyMxuMbMm/c4Nn5n9zMy6zWzxWKdlJCmAMQ6Y2elm9icz22lmHWb2uJl93cwqRzENV0YX8csTk5uA/41eY+1OPB1/ATCzFVF6N+7tihM//sHMes1si5ldZWaz93bdo+C3eL6sGe0Nm9lbozx7Mse8R6J5/1rEenKde8NJz8xoXc+aWaeZbTWzv5vZqXuz3lJJnHPHjXVaRtlbgUXA10MIPQBm9nkze9DMGqPXrWZ2RvJDZnaOmd0TXSO3mNl/xQEQM5sS/UhvMLM2M3vOzH5lZvOz1vGe6PraaWaPmdmbh5p4MzvRzK41s01RWp6K0lKVWKY6uoZvM7N2M/unmZ2SmP86M/uHmW2P0vuImb0tz/a+kzhXLkrM+iowBfjgUPdBxj+VC4qickFuKhdk1rOvlgt6zazZzNab2Y/M7IixTttoM7PnA2cBV4YQdkfT/s3M7jazXWbWYmb3mtlLsz53bHSM26Pr5/fMbFJi/vfNbG30+Z1mdr2ZHZ21jlea2eronNloZh8eRvoPNrPfRp/vMLPNZvZdSwRjzCxlHqTcFG1rlZm9MDH/AjO7KTpvO6Lz4aNmZjm297HE+fP+xKyvAuXA5UPdh3EthKDXGL6A1wA9QABWAd8D/gp0A1NGMR1XRmm4fKzzpMj0rojSuzFr+spo+qVDWNfG6DN/Ar4FbIne/2KU9+nyaLtXFpHWFePgGDQA7VF6liemHxtN6wZmFrGeETn3gGui9dwdHcffA9uAN0TzF0bzwwjnQ8UwPxei13ElOj7DStconDergDQwNzFtI/Ag8APg4ShfmoADo/kLgI7onPoZ8Fi0zP9LHNse4O/RNXRbNP++xDZeE03bFp1zu6L3zx9i+i+N0nZNlJauaD1fTizz7Wjaw8Avov1tAmYkzvlnos//JXEuvCRrWy9OfJcCcFFiXlW0zq1A+VgfV71G7oXKBcNN7wpULhjrY6ByQRiRcsFVwE+Bp6P3rcAZJTpm47Ws8Icc59FKYF10ftyROKeOj+ZPIvP7/1vgvuzvbfT+jui6+mT0fhNQHc1fjv9mNwM/juYF4J1DTP8KvNxyA/DDaH0B+F1imY9G056MttWBX/uPiuZfDmwHfg38LkpXAP41a1vH42WRuKzw/qz564BOYPpYH9cROz/GOgET+QXUAjujk+2nQCoxbxFQGf1/DHAjsCM6kf8EHJ5YNr7gLYzeX07iBw8vcAfgNjwStwfYDLw+mn9lYh3x60pyXNiB+cAvo8/vwQvfRyfmvx94PPqi7MAvNofn2PeZ0bob8ZpA06Iv5nPR/IPI3GxYcp/IFFL6vaLPrYzefxr4G9AG/BNYUOA4bCRxcwC8OXq/JutYfRHYgP+Q3E//m4k4D/8Pv1i1AfcS3Zzmycv4M5dnHbdf4heyVvwJyrk50roia38vjd6XA/8GPBKl4TngP6J55wMPRHneDTwFfDqx7kspcJ7kybtfR5/5WmLal6Jp1yb2/Td4AXA3fpN5SqFzL5p3NHBddA5sxy/e8wukpSn6/NTEtDKgIfsYAK+L9n838NXE8kPJo//Df5Di4/dSvJDUFH3uy0BtgfTGaYnPkfhY/j/gVnKcu8AS4GrgWbyQuCqen1jf+/EfwyeK/M5+GT+vOqJt3kmiIBzl1Zpoe7vwH/4zEufbh4G1ZM7XdxTY57lRGtdlTT8x8X890BIt94po2hXR+69H7w+N3rdEyzcAixPrWJHIj2nRtFXR+4uj92+L3q8c5Dq9CKhKvD8UmJx4f3m0noei97PwgkQvMCua9lP6f9ePA8oS64iPffJ7NBP//v6QrGtUYpm/RtNPLbQPeu07L1QuULlA5YI4D1Qu8HPslmjao4nlCuYDMC86X57Cf9vXAidlnS+fAFYDvdH06cB3ovnN+HfkzMQ6Pwisx8/BTvyhwyVZ+XRfNL8R/z68IjH/rdFnWqL1fJw8wXegAj9X25LLACdkHcfHo33598S1JgB/it7X42WXXuCQaFqyvJE8/idE0/4Qvf9A9P7c6P3GQa7dB5IIMEfv5+Q4T5oS38sd0bQTo2mfpf/5fhRRYCXru/HHxLRq/JpwU+JceX9W2r4XTX9NoX3Yl15qQjK2Tsd/oAE+F0JIxzNCCI+HELrMbA5+Qj4fv7F4AH8qt9KG3ibs9Oh1N/7F+o6ZNeCFjbXRMneRqJKZZGa1+I//q4CHgD/ihYa/mdkMMzsU/4FrAH4UrWM+MCd7XSGE7fgXrgG/EJ+GF0hmRes5PVr01hB9+xI24Rdr8ItsruqsH8d/GLdH6/5c/mzpt4+VwInR24cSs34AfAS/KP8cvxH7vUVtThPeiV+8V0XrudbMqovZdsIrgQPwH8MlwB+HUG310/jN3iF4Ht0CxFUP5+IXy1/iBeNJwH+Y2Wuy1pHvPMnlZ9HfV5lZWVStLV7fz8ysDj9nLsEjwH8jc84sIs+5Z2YH4Dfx50f5sBJ4BfBnS1TVz7IlXo+ZfdPMXosXUppyLPv/gH/g59/7zezcaPpQ8uh5+LnwRFTV8RrgYDzAsAn4d+CbedJayIfwp/P9zt0oT/4BXIQ/df8Z/p3Jvg58Ac+7vwz2nY2WPxjP+x8QFSKB35jZJDOrwX8wF+BPhK7D82xR9NnP4gVTi/KiGj9f3pxn346N/q5NTgwh3Jd4a3jhBTwfwZ8ugBf+CSFswAvSdcChIYSmEML6xDriavaNQIt5U5Ojk+tI/D0uT1pjPwF+F593IYQNIYTGHNuK03pUlP6nQwjbcm0rhLAqhNBbYB3gBY4W/MYjnzgfjy+wjOxbVC5QuSAXlQsmYLkghNAWpQvgcDNbPFg+JL6Tb8KDFz/FgzIHZq3+03gtwd+bWSpK6zvwWh+/Bpbi+X54tPzB0fJXRssehR/PhdH8H+G/8b8jU1vgaAAzeyf+fZkarbsd+DweRMllMVADrA9RU9MoP+7PWi77tzO7rNACPIoHRI+Jpt2X4/O9ZM6VfutI/F1gZlPypBfgf4C/xsuEEJ4NIWxJzM9O60F40CiNB3uS2zouWsfqEEJHgXWAl8EOIBMgyWW/KyuoA7WxNSvx/1N5lnkj3s55ZQjhxQBm9gB+cr8S+O4QtrcLb0/Wi1886oDDQgg/N7ML8B/FG0MIl0fbWZj1+RfhNy6b8Src4Be6RfgP0S3RtGfxanprQgibzKwsT3puAY7ECxIL8KjvgcAZZAoLt2R/KISwwcy+AVwM7AohvD/Hur8bQniPmb0Ff4JZzJf26sT/twLvBW9Dif/4poHb8fxbix+/d+E/HrFrQgiXmFkFfoGZi0dvVxex/diDIYTnR9uOj/UlDPKjFxUS3he9fX0I4epoenwz+BM8Wn8CftF8HFiG/+D+MrGqnOcJmQtr0g3408LZwDn4j+V8vAB5DfAS/EfvCeCcEELazK7Gb8LfFkL4eJ5z70P4D91a/BwDL3QeEW3nxhxpeSdeXX9x9LoMaDKz14cQrs1a9pIQwj1mdlC0r8cDNw8hj5rxp0V7ovReF01/AC8oPIif1282s/dEhZBifSfPufuGKE0PAMviGxsb2BHme0MIP4zmvZLC39lvA/8S/b8QfyrSBszACy8P4U85tuFPJdaEEJ5IFErfG63zdryA/gh+vN+NP/3JFt9cNefa8WhfrsR/pH8dQrg7mhUX1FsSi7fi18YDstYxG/hG9Pbj0Q3fAdF+JNfRGv2dHN1MnIHXrsj2N/zG53dm9vIQQndiW6cD/x9+3n9ykLSSndZoHf+OV1ndgB8PzOxf8BvSs0IIzTmau8biQrg6ONt/qFygckEuKhdM3HJB8jowC8+nQvlQH+3rFrxpRVuUngr6+0II4T+ieSfhAZhmMjfTG6I8eAve1OHD+PdrMV7LcDv+m3Ya/j2twI/1H/FAx3o8AAmZczCujfIQXsZ4Nx5IyVawrBD5Cl7T5Hb82gJD+P01s3o86ALwlUSwIXsdrYmPHRAFdHJdO1YBL8eDGOclH3REn/k8fr2I+9OIt9OWCMgWKitcgl9zduI1vzCz84F/BV4bXVdzJAvYD8sKCmCMrW2J/xeQ+fFPWhj9TT6xfBT/8VqQZ735CgZr40iembXiUeb6ItOaTMtcBj4VPDSE8G0z+0/8QvXnaDuP4T+yj+RY30r84nVatO6/4z9Yp+M/FPEyw/FA9HdP9LeY/bwWb3t2EXAycDgedV8YzU+RuWGLZd/wrAUIIXSb2RP4j808chdU8h2nR7P+Py5ax2BmkNnPO+OJiRuu/8Oj69lmZr0v+jyJ9vPX+HF8LV6tELyNX3uisPtY4klivH/5zl/I5PmS6JWU6yaTEMLKqOBxGl74eCteSPoCfmyT8p0fxebR6riQkpXe86NXzPCnXrnO/3zype3g6O89WU9l+55ORP6ZI105v7NmNh0vSGQ/mQFvp9xiZu8G/hOvoo6ZbcJvoFYn0vaW7HXnWB9k9mlS9ozoqdFvgBfiNT3elJj9HP59TJ6H8f9bE+uIn94dAnwqhPCtaNYOvOBdFn1uZ+LzjSGEjiho8Oo86QZ4AV543Rpt64VRegNebTwu9D2Xlb6caY3WcTmet0/gVcLjQsbr8ae6H48KJPFN7SfMrDaE8PPoffwEdE+BdMu+ReUClQtyUblg4pYLknmyjcHzoSb6/+FkkCQZfI/kKitMIndZoRI/f45moDgf3gn8N/67CP47+148yBOv/+Ksz842s/qopkTSnkR6+omCn9/Bm4HeC7w4UQ4q6vc3CkBejweivofXpIo9hwfc6rM+H6/j0qzlsy3Dg3v3RNs6KdrWVOCticBZnNZaM0tF34V8ZYW3Rfu8Ezg/hBAHrl6Hf7/eaGZvxINCAG83M0IIV0Tv97uygpqQjK3b8agswCejKlwAmNmCKFq6MZqU7IE4rs4VR2XjC1R8gua6wID/CMeyqxnF1ZkLnRNxWu7D2+VaCCGuwv756KLy+RDCDPyC+6Uorf9fnvXFT1HOAk7CL6b/BM7Dq6HtJP8FfrD0xvuarzpVLj8IIbwcj8hWA1+Lpm+M/nbhN3Xxflfi0dakJdAX6T4kmraJRAQ3Ue0y33E6Isf/m3ItmGUHmYhxcsSDOFAZ35y9ES8k/V+8SNZ6Cp0nucTVRV+BP/0Dr7IImbw7zDKh4ezzN9exjD93dZzfUZ7PwashDmBebbc3hHBrCOFzeFVNyPEDmPixy96/YvOoM+t9nN5/y0rvohDCUIIXkP/cfTL6e1LWtSI7EJ1MW5yunN9Z4Ew8eLEVj/hXkfmBi/f5xyGEudFy/4YXmj+Fn2/xeX1sYt0p/Ac8l7j6db9Cl5lNw9tvvhB/2nVRCCG5H6uivydHyy8GJkfb3xBNOw6/fiwELovOAaDveK9OrgO/5oA/FSOE8JrksUvsz1vwds9vCCHEwYs34k8SO/DAQ7Jq/Zpo+fmWqeLdb1vmPY9/Cw9ePACcniiQgOf9NPzp9ovIFEjjglEszscHkP2FygVO5YL+VC6YgOWCKLD/sejto8GbSsbrzZcPcVlhqXkz0HhdxZQVtuB9LsTrrMWDEEfi52YPXrsqRWaUmzgfbgghLMaDZpfgAf/PZ63/ZVlpPiRH8AK89kYHsDiZ7qi25O/w4MVf8Ro8uxOfWxX9jcsKk/DvS8BrhWBmC/CmN8vwjsDfkagBMWAdZH6/nw4h7AkhfDRPWeH5eO2kD4cQ4uDF+Xgtznq8/61kzdRn8JpNKTK1y/qVFaJ1fAz4frT86SGEVYl1GH5dissKcfPDI+nfPHb/KyuEcdARx0R+4U/aevEv1yq86ue1+IVlCn7TsCea/0e8ilzAbzjizului6bdikcS415qr4zmX0pWZ3WJda6I3l8evX8Cb294DlkdTOFVBp+Ipt2OV3e+Hi8orYiWfw6Pvn6TTKd5Xy6w/2vjbeAXmZcn3v8+sVycvnif4rSl8S/2R6LpK+nfedVFDNL5DgM761pApiff50fTfhW9fzza799Ex+DyaP6V0fxevOfj26P3m4GaaJlnEscx7uQqMLCzrl78SdWfo/etwAFZaV2RZ38/n/jMT/Cqkz+L5sUjN9yN92fQFr3/Q7HnSYE8jDtSCtF+phLnTJzmlVHehGjbhxY49w7EC/Ehyofv4De43USd0uVIww78h/vX0TGKe+/+btY5ExKf+UPWMRhyHkXTXxhNb4/y/If4k4EnC+RZnF/HFXPu4gGGuMOne6M8SXYIF69vYWIbg31nl0fzeqL9vZOsES+ic+APeA/u/4jm/S6aF3fMthW/9vwiOgZXFtjvBxk4Csk/o/Xsis6BK6LXCxLHrjNK58/wdtMB+FI0fzpeYyEupFyReMXn2eui+fEoJPH5deEg5/bP8eqZ8fsLyFxjb0huK7HMd6P5j+BPn+IezWdmfU978QJnvI73FnONiqbFo5A8h0Yh2a9eqFygcoHKBfF+T9RywVX0H4WkBb95ZbB8wIMO8W/ko9H8W/DgAWSdL9G0FJnz86Eor/4QbedS/MFFfE26OtpeV/T+/dE61uDf/W/jtSgD0UhgeG2cgP9OX4mfh2uy8ywrL66JPpMcheSqRJ5+k8xv5+ui+ZPIlJN+izeHCcCvEuvYHE17iv5lhZOj+afj15AWvClsvPy7Bznfv4QHL+L3R+HX7ICXcZLbiq/TH4/mb4zypAMv5xwdzX87mXPiV4nP/0eeNKxMHpPE9HVRWmaU+vdrtF5jngC9AviThuvwwnsnftH/Bpnexo/HL1I7oy/mtcCSxOePxy84TXiB+gcMvaAyN/qCxV+2D5L7wr4QL9Bvii4gj+OFqzl45O9PeFvXLvxG4Rcken/Ose/fjraxg6izrsSX9d8Sy12e3Kdo2n+TuYg/Ek2Lv7yXRu8vii8OBdKwkYE3Bz+Mpv09el+Pd6QUR4U34xfxU6P5V0bLfz3Kgzb8iVSyx+QLovzajd/U/IHcBZVkb+NrgQtypHVFnv0tx3thfoSBvY2fGa2vHS8sfZWRK6h8JnHc/itr3iH4D8nWaH0r6f+DNODci6YfE+Xlc4m8uAKoz5OGT+E34DuidT2FPy2blDh3ByuoDDmPEuu6KNp+Y7Sfd5P1I5K1fJxfxxV77pIZhWQL+UchWZi1nYXk+c5G8z+HX3u24zUsNtK/4P4bvBDVGS13bbwNvM3rh8mMUvIcfjOVNyiAVzMNRL2GZ53X2a/LE8ucixf+OvFz6X+Ihn9LHtscrxWJdbwPLxB34T/obx3G9frSfNtKLFODF66249eL2+l/zl+ZZx0DzqsC16iLo2mfH+o+6DX+X6hcoHJB/31UuSBMqHJBfAO9Dq/9c3jWcgXzAe8g8if4b3cHuUchWZG1zpl47ZKN0Weewh8YHBHNvyw6Xo34zfpK+gcwvoafy+3RMn8nM7yp4bUmHoj2awceVHlDgbx4frT+5Gg28TazX8lrwPHRcu349fMHRKPOZOVx9uvSxDKvxss1XVEefhSwIV7DVxTY1sJomTK8M/TN0bYexJvEZF/jsl85r13ZxySadmI07aqhpH+8vyzaORHZC2Z2JT7M2qdD1OGUiAwUVaNei/9wLw4D+/CQIpjZbfgTnkNC/yq0IjIOqFwgsnfM7BY8ILFAv3PDY2Y/wwMyR4b+o7Xt09SJp4iIjJrgHYnl6+RTihRCOGOs0yAiIlIqIYSzxzoN+7oQwhvwUez2K+rEU0RERERERETGPTUhEREREREREZFxTzUwRERERERERGTc2y/6wJgxY0ZYuHDhWCejaD09PZSX7xdZP6iJsq8TZT9B+7o/mij7CdrX8ea+++7bEUKYWcptjMcywr5wbMaC8iU/5U1uypf8lDe5KV/yG295k6+MMH5SuBcWLlzIvffeO9bJKNqOHTuYMWPGWCdjVEyUfZ0o+wna1/3RRNlP0L6ON2b2VKm3MR7LCPvCsRkLypf8lDe5KV/yU97kpnzJb7zlTb4ygpqQiIiIiIiIiMi4pwCGiIiIiIiIiIx7CmCIiIiIiIiIyLinAIaIiIiIiIiIjHsKYIiIiIiIiIjIuKcAhoiIiIiIiIiMewpgiIiIiIiIiMi4N2YBDDOrNrO7zexBM1ttZp+Oph9sZneZ2QYz+5WZVY5VGkVERERERERkfBjLGhidwPNCCMcCxwEvMLNTgS8BXw0hHArsBt42dkkUERERERERkfFgzAIYwbVEbyuiVwCeB/w2mv5j4KLRT52IiIiIiIiIjCdj2geGmZWZ2SpgG/BX4HFgTwihJ1pkEzB3jJInIiIiIiIiIuNE+VhuPITQCxxnZlOAq4Ejiv2smb0DeAfAvHnz2LFjR0nSWAqNjY1jnYRRM1H2daLsJ2hf90cTZT9B+zpRjPcywkQ+NoUoX/JT3uSmfMlPeZOb8iW/fSVvxjSAEQsh7DGzvwPLgSlmVh7VwpgHbM7zme8C3wVYtmxZmDFjxqildyTsa+ndGxNlXyfKfoL2dX80UfYTtK8Twb5QRhiPaRoPlC/5KW9yU77kp7zJTfmS376QN2M5CsnMqOYFZlYDnA+sBf4OXBIt9mbgmjFJoIiIiIiIiIiMG2NZA2MO8GMzK8MDKb8OIVxrZmuAX5rZ54AHgB+MYRoJIdDY2EhXV9eIrXPnzp2k0+kRW994Vsp9raioYMqUKZhZSdYvIiJSSAiBpqYmOjs7h/S5iVQOGIpS5ktZWRlTpkyhrKysJOsXEZHRMWYBjBDCQ8DxOaY/AZw8+ika6Oabb+YXv/gFbW1tVFdXj9h6u7u7qaioGLH1jWel3NfOzk4qKyu55JJLeNGLXlSSbche6O2FpiaYOnWsUyIiMuL+8Y9/cNVVV9HY2EhNTc2QPjuRygFDUcp86e3tpbu7m/POO49LL72UVGpM+7EXEZFhGhd9YIxH9957L1dddRUf/ehHWbx48Yg+5e/q6qKysnLE1jeelXJfQwg89dRTfPGLX2TSpEmcddZZJdmODNPq1XDPPfD858O8eWOdGhGREfPII4/w/e9/n4985CMsWbJkyGWEiVQOGIpS58v27du54oor+NnPfsab3vSmkm1HRERKR+HnPG666SZe+9rXcthhh6mJwjhlZixcuJA3velN/PWvfx3r5Ei2qVM9cFFfP9YpEREZUTfffDMXX3wxRx55pMoI+5CZM2dy2WWXcdNNNxFCGOvkiIjIMCiAkcfmzZtZtGjRWCdDinDooYeyeXPOwWpkLB10kNe+mDJlrFMiIjKiVEbYd82dO5f29nba2trGOikiIjIMCmDk0dvbS3l5poXNJz/5Sd797nf3vb/22msxM1avXt037cUvfjE/+EHhPkdf+MIX8vjjjw+6/RUrVnDttdfmnHfllVeybt26QdeRy+WXX84HP/jBYX12OO666y6OPfZYDjvsMC644AK2bduWc7n3vOc9HHHEERx77LGcfvrp3HvvvX3z0uk0n/rUpzjssMNYunTpgP4uUqmUOkMTEZFRk06nVUYogWLLDJ///Oc55phjOP744znuuOP41a9+VdS8WHl5ucoNIiL7KAUwinTOOeewcuXKvve33HILp5xySt+03t5ebrvtNlasWFFwPddff/1eP7XZm8JJsXp6evZ6Hel0mksvvZRvfvObrFu3jrPOOouPfvSjOZe98MILefjhh3nwwQf52Mc+xqtf/eq+eVdccQWPPfYYq1ev5uGHH+aHP/zhXqdNRERkpKiMsPeGUmZ473vfy0MPPcQDDzzA9ddfz9vf/nZ279496DwREdn3KYBRpNNOO40nn3yS5557DvDCyac+9am+wskDDzxAQ0MDixYtYsuWLVxyySWcfPLJLF26lC984Qt961m4cGHfE5k1a9ZwyimncPTRR/OGN7yBU089td8TlVtuuYUzzjiDQw45pO9H/Ec/+hH33nsv73vf+zjuuOO46aabAPjSl77EySefzAknnMBLXvIStm7dCkBjYyOXXHIJRxxxBCtWrCj4ZMfMuPzyyznppJP49Kc/vdd5dt9991FdXc0ZZ5wBwLve9S5+/etf51z2xS9+cV/P48uXL2fTpk19T0e+/OUv88UvfrFv/uzZs/c6bSIiIiNlqGWE17zmNXnLCI888giw/5cRsg2lzDB58uS+/1taWjCzvjJDoXkiIrLvUwCjSDU1NZx88smsXLmS5uZmWltbecELXsCqVasAWLlyZd+TlTe96U28733v4+677+a+++7jhhtuyNnJ5Bvf+Eb+9V//lUceeYT3v//93HPPPf3mP/3009x666088MADfP/732f9+vW85S1vYdmyZXzta19j1apVnHfeefzsZz/j8ccf58477+T+++/nhS98IR/4wAcA+MxnPkNDQwOPPvoov/3tb7nlllsG3c977rmHz372swPmxQWiXK9chZ6nn36a+fPn972fMWMG6XSaXbt2FUzDN77xDV70oheRSqVobGxk586d/PrXv+aUU05h+fLlXHPNNQU/LyIiMpqGWkZ4z3veM+HLCNmGWmb49re/zRFHHMHxxx/Pd7/7XaZPn17UPBER2bdpGNUhWLFiBStXrqShoYEzzjiDsrIyFi9ezOrVq1m5ciUXX3wxra2trFy5ku3bt/d9rrm5mbVr13L++ef3TWtqauKRRx7hda97HQDLli3jmGOO6be9V77ylaRSKSZPnsySJUt4/PHHWbx48YB0/fGPf+Tee+/lhBNOALxqZ/wE4u9//ztf//rXAS8MvOIVryi4j29+85vzzvva175W8LMj4Ze//CU///nPufXWWwGvdtvZ2Uk6neauu+5iw4YNnHHGGRx99NHqQE1ERMaNoZQRtm3b1jd6icoIw/Oud72Ld73rXTz88MO8/vWv57zzzusLVBSaJyIi+zYFMIbgnHPO4bLLLmPy5MmcffbZAJx11lncfPPN3HbbbXz9618nnU5jZtxzzz19TR4KKTT8WnV1dd//ZWVleduchhD45Cc/yVvf+tYh7tFA9QWGvHzf+97XF1jI9rvf/W5AQGH+/Pk8/fTTfe937NhBKpVi2rRpOddx9dVX84lPfIKbb765r5nItGnTqK+v5w1veAPgI46ccMIJPPDAAwpgiIjIuDGUMsLtt99OXV3doOvcn8sIn//85/nNb34DwFe/+tUhlxliS5cu5cADD+wLEhU7T0RE9k1qQjIEy5cvZ+PGjfzud7/rqwp61lln8Y1vfIMpU6Zw8MEHM2nSJM4880y++MUv9n3umWee6WtvGmtoaOCoo47iF7/4BQD3338/Dz/8cFHpaGhooLGxse/9S1/6Ur71rW/1dVLV2dnJgw8+CMDznvc8fvSjHwGwc+dOrr766uHtPPRVSc31yhVMOPHEE2lvb+e2224DvErnK1/5ypzrvvbaa/n3f/93/vznP7Nw4cJ+81772tdy4403ArBt2zYefPBBjj766GHvh4iIyEgbShnhv//7v/s+N1HLCJ/4xCf65p9zzjlDKjOsWbOm7/8nn3ySBx54gCOPPHLQeSIisu9TAGMIqqurOeWUUwA48MADATjppJPYvHlzv57Fr7rqKtasWcPSpUtZunQpr371q9mzZ8+A9f3kJz/hiiuuYOnSpfzP//wPS5cu7df5VD7veMc7+MxnPtPXQdcb3/hGXv/613P22WdzzDHHcOKJJ/LPf/4TgE996lPs3r2bI444gosvvpizzjpr7zOiSKlUih/96Ee8+93vZvHixdxyyy39AjvHHXcczz77LABvectb6Orq4pJLLulrM7tz504AvvCFL/CnP/2Jo48+mnPPPZcvfOELHHHEEaO2HyIiIoMZShlh7dq1E76MkG0oZYbLL7+co446iuOOO45LLrmEr33tayxZsmTQeSIisu+zEMJYp2GvLVu2LNx7770jus7LLruMj370o/06lBopXV1dVFZW0tLSQl1dHWbGmjVrWLFiBY899hhTp04d8W2OlXhfS2nHjh188IMf5MorryzpdgZLw4wZM8Zs+6NJ+7r/mSj7CdrX8cbM7gshLCvlNkpRRvjgBz/I29/+dg4//PBhfb6Y38aJUEbINhplBvCand/97neZNGlSybc1UvaF7/NYUL7kp7zJTfmS33jLm3xlBPWBUUCpgzu33347H/rQh/q2873vfW+/LpiUyv4QhBMRkX2Lygj7LpUbRET2XQpg5DF58mR27NjBggULSraNCy64gAsuuKBk658odu3aRUNDw1gnQ0REJoiGhgZ27NhR0m2ojFAara2tdHd3U1NTM9ZJERGRYVAfGHksW7aM6667jnQ6PdZJkQJCCPzpT3/ipJNOGuukiIjIBHHSSSdxww035B35Q8av66+/nuOOO47ycj3DExHZF+nqncdLXvISVq1axXve8x6OP/74EY3Ud3d3FzXE6v6glPsa96ReU1PDZZddVpJtiIiIZDv//PO57777uOyyyzjxxBOpqakpOORptolUDhiKUuZLT08P69atY9u2bXzhC18oyTZERKT0FMDIo7Kyks985jM8+uijPProo3R3d4/Yujs7O6mqqhqx9Y1npdzX+vp63vnOd3LkkUeSShWoTLR7N2zaBEuXliQdIiIysZSXl/OJT3yCDRs2sHr1arq6uob0+YlUDhiKUuZLTU0NL3/5yznuuONGpaNQEREpDQUwCjAzlixZMuLDb423Hl5LaVzsa08PtLePbRpERGS/YmYsXryYxYsXD/mz4+K3cRxSvoiIyGAUwJD938yZ/hIREREREZF9ljrxFBEREREREZFxTwEMERERERERERn3FMAQERERERERkXFPAQwRERERERERGfcUwBARERERERGRcU8BDBEREREREREZ9xTAEBEREREREZFxTwEMERERERERERn3FMAQERERERERkXFPAQwRERERERERGfcUwBARERERERGRcU8BDBEREREREREZ9xTAEBEREREREZFxTwEMERERERERERn3FMAQERERERERkXFPAQwRERERERERGfcUwBARERERERGRca98rBMgIsPU2wu33w5NTXD22VBfP9YpEhERERERKRkFMET2VR0dsGEDdHfD7t1jG8Do7YXt2yGdhlmzoFyXFhERERERGVm6yxDZV9XVwTnnQHs7zJ07dunYuRP+8Q/Yts3fT5sGZ53lgQwREREREZERoj4wRPZlCxfCkiWQGqOvcghw552Z4AXArl1w221eK0NERERERGSEKIAhIsO3ezds2TJw+o4d3qRERERERERkhCiAISLDV1YGZgOnm/k8ERERERGREaIAhogM3+TJsGDBwOlz5sCMGaOfHhERERER2W+pE08R2Tunnup9cGzc6H1izJsHp5ySu2aGiIiIiIjIMCmAISJ7p74envc8aGryAMbkyWOdIhERERER2Q8pgCEiI6OhYaxTICIiIiIi+zH1gSEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLjngIYIiIiIiIiIjLuKYAhIiIiIiIiIuOeAhgiIiIiIiIiMu4pgCEiIiIiIiIi454CGCIiIiIiIiIy7imAISIiIiIiIiLj3pgFMMzsIDP7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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Weighted correlation (Rep gain counties): 0.262\n", "Weighted correlation (Rep loss counties): -0.328\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "\n", "# Filter for valid numeric data\n", "corr_df = merged_all.dropna(subset=[\"density_change_pct\", \"vote_shift_pct\", \"pop_density_2024_true\", \"land_area_sqmi\"])\n", "\n", "# Approximate 2024 population (density × land area)\n", "corr_df[\"population_2024\"] = corr_df[\"pop_density_2024_true\"] * corr_df[\"land_area_sqmi\"]\n", "\n", "# Scale bubble sizes for visibility\n", "corr_df[\"bubble_size\"] = np.sqrt(corr_df[\"population_2024\"]) / 50 # tweak divisor for bubble scaling\n", "\n", "# Split into Republican gain vs. loss counties\n", "rep_gain = corr_df[corr_df[\"vote_shift_pct\"] > 0]\n", "rep_loss = corr_df[corr_df[\"vote_shift_pct\"] <= 0]\n", "\n", "# Create figure with two subplots\n", "fig, axes = plt.subplots(1, 2, figsize=(15,7), sharey=True)\n", "\n", "# Function for weighted correlation\n", "def weighted_corr(x, y, w):\n", " x_mean = np.average(x, weights=w)\n", " y_mean = np.average(y, weights=w)\n", " cov_xy = np.average((x - x_mean) * (y - y_mean), weights=w)\n", " var_x = np.average((x - x_mean)**2, weights=w)\n", " var_y = np.average((y - y_mean)**2, weights=w)\n", " return cov_xy / np.sqrt(var_x * var_y)\n", "\n", "# Plot: Republican gains\n", "sns.regplot(\n", " data=rep_gain,\n", " x=\"density_change_pct\",\n", " y=\"vote_shift_pct\",\n", " scatter=False,\n", " line_kws={\"color\":\"black\",\"lw\":2},\n", " ax=axes[0]\n", ")\n", "\n", "axes[0].scatter(\n", " rep_gain[\"density_change_pct\"],\n", " rep_gain[\"vote_shift_pct\"],\n", " s=rep_gain[\"bubble_size\"],\n", " alpha=0.4,\n", " color=\"red\",\n", " edgecolor=\"white\",\n", " linewidth=0.5\n", ")\n", "\n", "r_gain_weighted = weighted_corr(\n", " rep_gain[\"density_change_pct\"], \n", " rep_gain[\"vote_shift_pct\"], \n", " rep_gain[\"population_2024\"]\n", ")\n", "\n", "axes[0].set_title(\"Counties with Republican Vote Share Increase (2020→2024)\", fontsize=12, fontweight='bold')\n", "axes[0].set_xlabel(\"Population Density Change (%) 2020→2024\")\n", "axes[0].set_ylabel(\"Republican Vote Share Change (p.p.) 2020→2024\")\n", "axes[0].text(0.05, 0.95, f\"Weighted r = {r_gain_weighted:.2f}\", transform=axes[0].transAxes,\n", " fontsize=11, verticalalignment='top', bbox=dict(boxstyle=\"round,pad=0.3\", fc=\"white\", alpha=0.7))\n", "axes[0].grid(alpha=0.3)\n", "\n", "# Plot: Republican losses\n", "sns.regplot(\n", " data=rep_loss,\n", " x=\"density_change_pct\",\n", " y=\"vote_shift_pct\",\n", " scatter=False,\n", " line_kws={\"color\":\"black\",\"lw\":2},\n", " ax=axes[1]\n", ")\n", "\n", "axes[1].scatter(\n", " rep_loss[\"density_change_pct\"],\n", " rep_loss[\"vote_shift_pct\"],\n", " s=rep_loss[\"bubble_size\"],\n", " alpha=0.4,\n", " color=\"blue\",\n", " edgecolor=\"white\",\n", " linewidth=0.5\n", ")\n", "\n", "r_loss_weighted = weighted_corr(\n", " rep_loss[\"density_change_pct\"], \n", " rep_loss[\"vote_shift_pct\"], \n", " rep_loss[\"population_2024\"]\n", ")\n", "\n", "axes[1].set_title(\"Counties with Republican Vote Share Decrease (2020→2024)\", fontsize=12, fontweight='bold')\n", "axes[1].set_xlabel(\"Population Density Change (%) 2020→2024\")\n", "axes[1].text(0.05, 0.95, f\"Weighted r = {r_loss_weighted:.2f}\", transform=axes[1].transAxes,\n", " fontsize=11, verticalalignment='top', bbox=dict(boxstyle=\"round,pad=0.3\", fc=\"white\", alpha=0.7))\n", "axes[1].grid(alpha=0.3)\n", "\n", "# Layout\n", "plt.suptitle(\"Population-Weighted Correlation Between Density Change and Republican Vote Shift (2020–2024)\",\n", " fontsize=15, fontweight='bold', y=1.02)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "print(f\"Weighted correlation (Rep gain counties): {r_gain_weighted:.3f}\")\n", "print(f\"Weighted correlation (Rep loss counties): {r_loss_weighted:.3f}\")\n" ] }, { "cell_type": "markdown", "id": "6f08b1c1-908c-459d-a685-8f4a78a5a29c", "metadata": {}, "source": [ "#### Swing State Population-Weighted Correlation: Density Change vs. Republican Vote Shift Breakout (2020-2024), County Level" ] }, { "cell_type": "markdown", "id": "6fdb7508-8ce2-49cf-b094-6c625eeaff98", "metadata": {}, "source": [ "The population-weighted analysis reveals a compelling relationship between demographic change and partisan voting patterns. **When separating counties that increased vs. decreased in Republican vote share, the data more strongly supports the idea that migration and vote share are correlated.** The largest and most populous counties (those carrying the most electoral influence) were concentrated among areas that **increased in Republican vote share** between 2020 and 2024, showing a **modest positive correlation** (r = +0.26) between population density growth and Republican gains. This indicates that population growth post-Covid in key suburban and exurban regions helped strengthen Republican performance in 2024. Meanwhile, smaller **counties that trended Democratic showed a moderate negative correlation** (r = –0.33), but their overall impact was limited due to their lower population weight. \n", "\n", "Together, these results suggest that growth in larger, fast-expanding counties played a significant role in shaping the broader red momentum of the 2024 election, as high-population regions leaned more Republican while smaller, less populous areas shifted modestly blue." ] }, { "cell_type": "code", "execution_count": 13, "id": "f4bab01a-17e6-4827-86c6-5d808c979c01", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pearson correlation between density change and Republican vote shift: 0.513\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# Create DataFrame combining population density change + vote shift\n", "data = {\n", " \"state_abbr\": [\"AZ\", \"GA\", \"NC\", \"WI\", \"MI\", \"NV\", \"PA\"],\n", " \"vote_shift_pct\": [4.38, 1.45, 1.25, 1.20, 1.18, 1.13, 0.86],\n", " \"density_change_pct\": [5.93, 4.36, 5.79, 1.13, 0.61, 5.21, 0.58]\n", "}\n", "\n", "df_corr = pd.DataFrame(data)\n", "\n", "# Calculate correlation\n", "corr = df_corr[\"vote_shift_pct\"].corr(df_corr[\"density_change_pct\"])\n", "print(f\"Pearson correlation between density change and Republican vote shift: {corr:.3f}\")\n", "\n", "# Plot\n", "plt.figure(figsize=(7,5))\n", "sns.regplot(\n", " data=df_corr,\n", " x=\"density_change_pct\",\n", " y=\"vote_shift_pct\",\n", " color=\"firebrick\",\n", " scatter_kws={\"s\":100, \"alpha\":0.8},\n", " line_kws={\"color\":\"black\"}\n", ")\n", "for i, row in df_corr.iterrows():\n", " plt.text(row[\"density_change_pct\"]+0.05, row[\"vote_shift_pct\"]+0.05, row[\"state_abbr\"], fontsize=10)\n", "\n", "plt.title(\"Correlation Between Population Density Change and Republican Vote Share (by State, 2020→2024)\", fontsize=12, fontweight=\"bold\")\n", "plt.xlabel(\"Population Density Change (%) 2020→2024\")\n", "plt.ylabel(\"Republican Vote Share Change (p.p.) 2020→2024\")\n", "plt.grid(alpha=0.3)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "47347f7a-f395-4edf-aabe-b5daae0f8429", "metadata": {}, "source": [ "#### Swing State Population-Weighted Correlation: Density Change vs. Republican Vote Shift (2020-2024), State Level" ] }, { "cell_type": "markdown", "id": "c7dffe97-a4b0-492c-9a6e-7318c312c6fe", "metadata": {}, "source": [ "To conclude our analysis, we take a **high-level** look at the **correlation between population migration and partisan change**, tying back to our earlier state-level findings on population density growth and Republican vote share increases. At this broader view, we find a **moderate positive relationship** (r = 0.51), indicating that states with faster population growth also tended to experience larger Republican gains between 2020 and 2024. This reinforces the trends observed throughout the county- and population-weighted analyses, suggesting that post-Covid migration and expansion into high-growth regions may have played a pivotal role in shaping the 2024 election, linking demographic movement and political realignment on both local and statewide scales." ] }, { "cell_type": "markdown", "id": "2ca5adf8-0aff-481c-acab-08d5d02714c4", "metadata": { "tags": [] }, "source": [ "## Conclusion" ] }, { "cell_type": "markdown", "id": "31694e37-9655-449e-b2a5-c14451d12837", "metadata": {}, "source": [ "The analysis reveals a compelling connection between post-Covid population migration and shifting political outcomes across the United States, particularly within key swing states. Between 2020 and 2024, many of the fastest-growing counties experienced both increases in population density and gains in Republican vote share. Meanwhile, slower-growing or declining regions showed smaller or negative Republican shifts. This suggests that migration patterns may have played a pivotal role in shaping the electoral landscape. \n", "\n", "When accounting for county population size, the trend becomes even clearer - larger, high-growth counties tended to lean more Republican, amplifying their influence on statewide results. \n", "\n", "Together, these findings suggest that post-pandemic migration not only reshaped the geographic arrangement of Americans across the country but also may have played a pivotal role in how they voted, contributing to the broader Republican surge observed in the 2024 election." ] }, { "cell_type": "markdown", "id": "96c8464d-bf8d-4ea7-926c-78a9496d6496", "metadata": {}, "source": [ "## Data Sources" ] }, { "cell_type": "markdown", "id": "bf90096a-0eb7-4f3d-b557-be9b16922d19", "metadata": {}, "source": [ "* [U.S. Census Bureau County Population Totals](https://www.census.gov/data/datasets/time-series/demo/popest/2020s-counties-total.html) to track population inflows and outflows between 2020 and 2024\n", "* [USDA Rural-Urban Continuum Codes](https://www.ers.usda.gov/data-products/rural-urban-continuum-codes) to classify counties into metropolitan and non-metropolitan categories\n", "* [U.S. Census Bureau Geography Information (GEOINFO)](https://data.census.gov/table?q=GEOINFO&g=010XX00US$0500000&d=GEO+Geography+Information) to obtain county-level land area measurements used in calculating population density\n", "* [MIT Election Data and Science Lab County Presidential Election Returns](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VOQCHQ) to analyze voting results for 2020 and 2024" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3-0.8.0", "language": "python", "name": "python3-0.8.0" }, "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.8.3" } }, "nbformat": 4, "nbformat_minor": 5 }