Adding persistent poverty tracts (#738)

* persistent poverty working

* fixing left-padding

* running black and adding persistent poverty to comp tool

* fixing bug

* running black and fixing linter

* fixing linter

* fixing linter error
This commit is contained in:
Lucas Merrill Brown 2021-09-22 16:57:08 -05:00 committed by GitHub
commit b1a4d26be8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 518 additions and 201 deletions

View file

@ -101,17 +101,25 @@
"outputs": [],
"source": [
"geocorr_urban_rural_map = pd.read_csv(\n",
" os.path.join(GEOCORR_DATA_DIR, 'geocorr2014_2125804280.csv'),\n",
" encoding = \"ISO-8859-1\",\n",
" os.path.join(GEOCORR_DATA_DIR, \"geocorr2014_2125804280.csv\"),\n",
" encoding=\"ISO-8859-1\",\n",
" skiprows=[1],\n",
" dtype='str',\n",
" dtype=\"str\",\n",
")\n",
"\n",
"geocorr_urban_rural_map['pop10'] = pd.to_numeric(geocorr_urban_rural_map['pop10'])\n",
"geocorr_urban_rural_map['afact'] = pd.to_numeric(geocorr_urban_rural_map['afact'])\n",
"geocorr_urban_rural_map[\"pop10\"] = pd.to_numeric(\n",
" geocorr_urban_rural_map[\"pop10\"]\n",
")\n",
"geocorr_urban_rural_map[\"afact\"] = pd.to_numeric(\n",
" geocorr_urban_rural_map[\"afact\"]\n",
")\n",
"\n",
"geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME] = geocorr_urban_rural_map['county'] + geocorr_urban_rural_map['tract'] # + geocorr_urban_rural_map['bg']\n",
"geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME] = geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME].str.replace('.', '', regex=False)"
"geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME] = (\n",
" geocorr_urban_rural_map[\"county\"] + geocorr_urban_rural_map[\"tract\"]\n",
") # + geocorr_urban_rural_map['bg']\n",
"geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME] = geocorr_urban_rural_map[\n",
" GEOID_TRACT_FIELD_NAME\n",
"].str.replace(\".\", \"\", regex=False)"
]
},
{
@ -139,15 +147,9 @@
"metadata": {},
"outputs": [],
"source": [
"geocorr_urban_rural_map = geocorr_urban_rural_map[[\n",
" GEOID_TRACT_FIELD_NAME,\n",
" 'ur',\n",
" 'ua',\n",
" 'cntyname',\n",
" 'uaname',\n",
" 'pop10',\n",
" 'afact'\n",
"]]"
"geocorr_urban_rural_map = geocorr_urban_rural_map[\n",
" [GEOID_TRACT_FIELD_NAME, \"ur\", \"ua\", \"cntyname\", \"uaname\", \"pop10\", \"afact\"]\n",
"]"
]
},
{
@ -165,7 +167,9 @@
"metadata": {},
"outputs": [],
"source": [
"geocorr_urban_rural_map.groupby([GEOID_TRACT_FIELD_NAME, 'ur', 'ua'], dropna=False).size().sort_values(ascending=False)"
"geocorr_urban_rural_map.groupby(\n",
" [GEOID_TRACT_FIELD_NAME, \"ur\", \"ua\"], dropna=False\n",
").size().sort_values(ascending=False)"
]
},
{
@ -175,7 +179,9 @@
"metadata": {},
"outputs": [],
"source": [
"geocorr_urban_rural_map.loc[geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME] == '36117020302']"
"geocorr_urban_rural_map.loc[\n",
" geocorr_urban_rural_map[GEOID_TRACT_FIELD_NAME] == \"36117020302\"\n",
"]"
]
},
{
@ -185,8 +191,12 @@
"metadata": {},
"outputs": [],
"source": [
"total_geo_population = geocorr_urban_rural_map.groupby(GEOID_TRACT_FIELD_NAME).agg({'pop10': np.sum}).reset_index()\n",
"total_geo_population.rename(columns={'pop10': 'total_population'}, inplace=True)\n",
"total_geo_population = (\n",
" geocorr_urban_rural_map.groupby(GEOID_TRACT_FIELD_NAME)\n",
" .agg({\"pop10\": np.sum})\n",
" .reset_index()\n",
")\n",
"total_geo_population.rename(columns={\"pop10\": \"total_population\"}, inplace=True)\n",
"total_geo_population.head()"
]
},
@ -197,8 +207,16 @@
"metadata": {},
"outputs": [],
"source": [
"geocorr_urban_rural_with_total_pop_map = geocorr_urban_rural_map.groupby([GEOID_TRACT_FIELD_NAME, 'ur']).agg({'pop10': np.sum}).reset_index()\n",
"geocorr_urban_rural_with_total_pop_map = geocorr_urban_rural_with_total_pop_map.merge(total_geo_population, how='inner', on=GEOID_TRACT_FIELD_NAME)\n",
"geocorr_urban_rural_with_total_pop_map = (\n",
" geocorr_urban_rural_map.groupby([GEOID_TRACT_FIELD_NAME, \"ur\"])\n",
" .agg({\"pop10\": np.sum})\n",
" .reset_index()\n",
")\n",
"geocorr_urban_rural_with_total_pop_map = (\n",
" geocorr_urban_rural_with_total_pop_map.merge(\n",
" total_geo_population, how=\"inner\", on=GEOID_TRACT_FIELD_NAME\n",
" )\n",
")\n",
"geocorr_urban_rural_with_total_pop_map.head()"
]
},
@ -209,7 +227,10 @@
"metadata": {},
"outputs": [],
"source": [
"geocorr_urban_rural_with_total_pop_map['afact'] = geocorr_urban_rural_with_total_pop_map['pop10'] / geocorr_urban_rural_with_total_pop_map['total_population']"
"geocorr_urban_rural_with_total_pop_map[\"afact\"] = (\n",
" geocorr_urban_rural_with_total_pop_map[\"pop10\"]\n",
" / geocorr_urban_rural_with_total_pop_map[\"total_population\"]\n",
")"
]
},
{
@ -229,7 +250,10 @@
"metadata": {},
"outputs": [],
"source": [
"geocorr_urban_rural_with_total_pop_map.loc[geocorr_urban_rural_with_total_pop_map[GEOID_TRACT_FIELD_NAME] == '01001020200']"
"geocorr_urban_rural_with_total_pop_map.loc[\n",
" geocorr_urban_rural_with_total_pop_map[GEOID_TRACT_FIELD_NAME]\n",
" == \"01001020200\"\n",
"]"
]
},
{
@ -239,12 +263,16 @@
"metadata": {},
"outputs": [],
"source": [
"urban_rural_map = geocorr_urban_rural_with_total_pop_map.pivot(index=GEOID_TRACT_FIELD_NAME, columns='ur', values=['pop10', 'afact'])\n",
"urban_rural_map.columns = ['_'.join(col).strip() for col in urban_rural_map.columns.values]\n",
"urban_rural_map = geocorr_urban_rural_with_total_pop_map.pivot(\n",
" index=GEOID_TRACT_FIELD_NAME, columns=\"ur\", values=[\"pop10\", \"afact\"]\n",
")\n",
"urban_rural_map.columns = [\n",
" \"_\".join(col).strip() for col in urban_rural_map.columns.values\n",
"]\n",
"urban_rural_map.reset_index(inplace=True)\n",
"urban_rural_map['urban_heuristic_flag'] = 0\n",
"mask = urban_rural_map['afact_U'] >= 0.5\n",
"urban_rural_map.loc[mask, 'urban_heuristic_flag'] = 1"
"urban_rural_map[\"urban_heuristic_flag\"] = 0\n",
"mask = urban_rural_map[\"afact_U\"] >= 0.5\n",
"urban_rural_map.loc[mask, \"urban_heuristic_flag\"] = 1"
]
},
{
@ -256,12 +284,13 @@
"source": [
"urban_rural_map.rename(\n",
" columns={\n",
" 'pop10_R': 'population_in_rural_areas',\n",
" 'pop10_U': 'population_in_urban_areas',\n",
" 'afact_R': 'perc_population_in_rural_areas',\n",
" 'afact_U': 'perc_population_in_urban_areas',\n",
" }, \n",
" inplace=True)"
" \"pop10_R\": \"population_in_rural_areas\",\n",
" \"pop10_U\": \"population_in_urban_areas\",\n",
" \"afact_R\": \"perc_population_in_rural_areas\",\n",
" \"afact_U\": \"perc_population_in_urban_areas\",\n",
" },\n",
" inplace=True,\n",
")"
]
},
{