{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Summarize tidy tables\n", "This script summarizes the water use and water suppy tidy tables generated by the *CreateUsageTable* and *CreateSupplyTable* scripts, respectively. Each table is then merged into a single dataframe to create a table listing water use and supply for each year/state combination. \n", "\n", "-----\n", "#### Workflow\n", "* Import and summarize use table on state, listing usage amounts by use class and source class (surface/groundwater)\n", "* Import and summarize supply table, first on county so that amounts can be converted from mm to MGal/year.\n", "* Summarize the county supply table to the state level, listing the total MGal/year of supply in each state" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Import libraries\n", "import sys, os\n", "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Get file names; these files are created by the CreateUsageTable.py and CreateSupplyTable.py respectively\n", "dataDir = '../../Data'\n", "tidyuseFN = dataDir + os.sep + \"UsageDataTidy.csv\"\n", "tidysupplyFN = dataDir + os.sep + \"SupplyTableTidy.csv\"\n", "outCountyFN = dataDir + os.sep + \"WaterByCounty.csv\"\n", "outStateFN = dataDir + os.sep + \"WaterByState.csv\"\n", "outNationFN = dataDir + os.sep + \"WaterBalanceData.csv\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Summarize USE table by county\n", "Computes water usage for each county broken into each sector and source category. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Read in the usage table from the csv file\n", "dfUse = pd.read_csv(tidyuseFN,dtype={'FIPS':np.str})" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Remove rows with irrigation and thermoelectric sub-classes\n", "#dropValues = ['Irrigation_Crop', 'Irrigation_Golf','ThermoElec_OnceThru', 'ThermoElec_Recirc']\n", "dropValues = ['Irrigation','ThermoElec']\n", "dfUse = dfUse[~dfUse['UseClass'].isin(dropValues)]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Convert amounts from MGal/day to MGal/year\n", "dfUse['Amount'] = dfUse['Amount'] * 365" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Add STATEFIPS column to dfUse (as left most 2 characters of FIPS values)\n", "dfUse['STATEFIPS'] = dfUse['FIPS'].str[:2]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Pivot on YEAR and FIPS listing usage in sector/source categories\n", "dfUseFIPS = dfUse.pivot_table(index=['YEAR','STATE','FIPS'],\n", " values='Amount',\n", " aggfunc='sum',\n", " columns=['UseClass','SrcClass'])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Flatten hierarchical column names\n", "dfUseFIPS.columns = ['_'.join(col).strip() for col in dfUseFIPS.columns.values]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#Remove indices so values are available as columns\n", "dfUseFIPS.reset_index(inplace=True)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | YEAR | \n", "STATE | \n", "FIPS | \n", "Aquaculture_Groundwater | \n", "Aquaculture_Surface | \n", "Domestic_Groundwater | \n", "Domestic_Surface | \n", "Industrial_Groundwater | \n", "Industrial_Surface | \n", "Irrigation_Crop_Groundwater | \n", "... | \n", "Mining_Groundwater | \n", "Mining_Surface | \n", "PublicSupply_Groundwater | \n", "PublicSupply_Surface | \n", "ThermoElec_OnceThru_Groundwater | \n", "ThermoElec_OnceThru_Surface | \n", "ThermoElec_Recirc_Groundwater | \n", "ThermoElec_Recirc_Surface | \n", "Total_Groundwater | \n", "Total_Surface | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2000 | \n", "AK | \n", "02013 | \n", "NaN | \n", "NaN | \n", "3.65 | \n", "0.0 | \n", "0.0 | \n", "821.25 | \n", "NaN | \n", "... | \n", "0.0 | \n", "0.0 | \n", "7.30 | \n", "357.7 | \n", "NaN | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "10.95 | \n", "1178.95 | \n", "
1 | \n", "2000 | \n", "AK | \n", "02016 | \n", "NaN | \n", "NaN | \n", "0.00 | \n", "0.0 | \n", "0.0 | \n", "876.00 | \n", "NaN | \n", "... | \n", "0.0 | \n", "0.0 | \n", "127.75 | \n", "781.1 | \n", "NaN | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "127.75 | \n", "1657.10 | \n", "
2 rows × 25 columns
\n", "\n", " | YEAR | \n", "STATEFIPS | \n", "FIPS | \n", "Area | \n", "total_runoff | \n", "Supply | \n", "
---|---|---|---|---|---|---|
0 | \n", "2000 | \n", "01 | \n", "01001 | \n", "1.565359e+09 | \n", "164183.119550 | \n", "136727.091260 | \n", "
1 | \n", "2000 | \n", "01 | \n", "01003 | \n", "5.250715e+09 | \n", "747212.294697 | \n", "697763.569535 | \n", "
\n", " | YEAR | \n", "STATE | \n", "FIPS | \n", "Aquaculture_Groundwater | \n", "Aquaculture_Surface | \n", "Domestic_Groundwater | \n", "Domestic_Surface | \n", "Industrial_Groundwater | \n", "Industrial_Surface | \n", "Irrigation_Crop_Groundwater | \n", "... | \n", "ThermoElec_OnceThru_Groundwater | \n", "ThermoElec_OnceThru_Surface | \n", "ThermoElec_Recirc_Groundwater | \n", "ThermoElec_Recirc_Surface | \n", "Total_Groundwater | \n", "Total_Surface | \n", "STATEFIPS | \n", "Area | \n", "total_runoff | \n", "Supply | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2000 | \n", "AK | \n", "02013 | \n", "NaN | \n", "NaN | \n", "3.65 | \n", "0.0 | \n", "0.0 | \n", "821.25 | \n", "NaN | \n", "... | \n", "NaN | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "10.95 | \n", "1178.95 | \n", "01 | \n", "1.565359e+09 | \n", "164183.119550 | \n", "136727.091260 | \n", "
1 | \n", "2000 | \n", "AK | \n", "02016 | \n", "NaN | \n", "NaN | \n", "0.00 | \n", "0.0 | \n", "0.0 | \n", "876.00 | \n", "NaN | \n", "... | \n", "NaN | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "127.75 | \n", "1657.10 | \n", "01 | \n", "5.250715e+09 | \n", "747212.294697 | \n", "697763.569535 | \n", "
2 rows × 29 columns
\n", "\n", " | Aquaculture_Groundwater | \n", "Aquaculture_Surface | \n", "Domestic_Groundwater | \n", "Domestic_Surface | \n", "Industrial_Groundwater | \n", "Industrial_Surface | \n", "Irrigation_Crop_Groundwater | \n", "Irrigation_Crop_Surface | \n", "Irrigation_Golf_Groundwater | \n", "Irrigation_Golf_Surface | \n", "... | \n", "PublicSupply_Surface | \n", "ThermoElec_OnceThru_Groundwater | \n", "ThermoElec_OnceThru_Surface | \n", "ThermoElec_Recirc_Groundwater | \n", "ThermoElec_Recirc_Surface | \n", "Total_Groundwater | \n", "Total_Surface | \n", "Area | \n", "total_runoff | \n", "Supply | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
YEAR | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
2000 | \n", "385301.30 | \n", "964625.65 | \n", "1094419.65 | \n", "12136.25 | \n", "1307024.85 | \n", "5900746.95 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "9955243.60 | \n", "NaN | \n", "64593608.35 | \n", "149412.75 | \n", "6525090.40 | \n", "26287117.50 | \n", "97545549.2 | \n", "8.617206e+12 | \n", "4.970406e+08 | \n", "4.837853e+08 | \n", "
2005 | \n", "695671.75 | \n", "2509250.90 | \n", "1365508.80 | \n", "32017.80 | \n", "1133857.90 | \n", "5491231.55 | \n", "4485871.90 | \n", "10189058.95 | \n", "146657.0 | \n", "168275.95 | \n", "... | \n", "10815975.65 | \n", "561574.40 | \n", "66812209.75 | \n", "154570.20 | \n", "5795367.80 | \n", "30165092.85 | \n", "119654562.8 | \n", "8.811690e+12 | \n", "5.600854e+08 | \n", "5.907308e+08 | \n", "
2010 | \n", "662522.45 | \n", "2777405.45 | \n", "1292045.25 | \n", "23330.80 | \n", "1076239.00 | \n", "4744346.65 | \n", "12366590.55 | \n", "18290529.60 | \n", "207261.6 | \n", "195475.75 | \n", "... | \n", "9610727.40 | \n", "76909.15 | \n", "54995433.30 | \n", "186212.05 | \n", "3461802.35 | \n", "28941576.35 | \n", "100469498.5 | \n", "6.804011e+12 | \n", "5.688181e+08 | \n", "6.134356e+08 | \n", "
3 rows × 25 columns
\n", "