Skip to content

Instantly share code, notes, and snippets.

@TDahlberg
Created June 21, 2016 14:03
Show Gist options
  • Save TDahlberg/876d87d476cae605571288732ed251a0 to your computer and use it in GitHub Desktop.
Save TDahlberg/876d87d476cae605571288732ed251a0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/tylerdahlberg/anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py:2723: DtypeWarning: Columns (15,118,226) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" interactivity=interactivity, compiler=compiler, result=result)\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>X</th>\n",
" <th>Y</th>\n",
" <th>Status</th>\n",
" <th>Match_addr</th>\n",
" <th>StAddr</th>\n",
" <th>AddrFull</th>\n",
" <th>AddNum</th>\n",
" <th>StPreDir</th>\n",
" <th>StPreType</th>\n",
" <th>StName</th>\n",
" <th>...</th>\n",
" <th>ctr_sclday</th>\n",
" <th>ctr_extend</th>\n",
" <th>ctr_days</th>\n",
" <th>ctr_calendar</th>\n",
" <th>chtr_durnot</th>\n",
" <th>ctr_contact</th>\n",
" <th>ctr_cost</th>\n",
" <th>c4kratecalc_it</th>\n",
" <th>c4kratecalc_ps</th>\n",
" <th>c4kratecalc_sa</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>U</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>12 Melrose Ave</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>x</td>\n",
" <td>5</td>\n",
" <td>C</td>\n",
" <td>5 day; 7:30-5:30; full yr</td>\n",
" <td>[email protected]</td>\n",
" <td>$775/mo &amp; accept Care4KIDS &amp; SLIDING SCALE</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 240 columns</p>\n",
"</div>"
],
"text/plain": [
" X Y Status Match_addr StAddr AddrFull AddNum StPreDir StPreType \\\n",
"0 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n",
"1 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n",
"2 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n",
"3 NaN NaN U NaN NaN 12 Melrose Ave NaN NaN NaN \n",
"4 NaN NaN NaN NaN NaN NaN NaN NaN NaN \n",
"\n",
" StName ... ctr_sclday ctr_extend ctr_days ctr_calendar \\\n",
"0 NaN ... NaN NaN NaN NaN \n",
"1 NaN ... NaN NaN NaN NaN \n",
"2 NaN ... NaN NaN NaN NaN \n",
"3 NaN ... NaN x 5 C \n",
"4 NaN ... NaN NaN NaN NaN \n",
"\n",
" chtr_durnot ctr_contact \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"3 5 day; 7:30-5:30; full yr [email protected] \n",
"4 NaN NaN \n",
"\n",
" ctr_cost c4kratecalc_it c4kratecalc_ps \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"3 $775/mo & accept Care4KIDS & SLIDING SCALE NaN NaN \n",
"4 NaN NaN NaN \n",
"\n",
" c4kratecalc_sa \n",
"0 NaN \n",
"1 NaN \n",
"2 NaN \n",
"3 NaN \n",
"4 NaN \n",
"\n",
"[5 rows x 240 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# coding: utf-8\n",
"# Set up file I/O and check the dataframe after import\n",
"\n",
"'''This link was helpful to complete this script: \n",
"http://pbpython.com/pandas-pivot-table-explained.html'''\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"inpath = \"/Users/tylerdahlberg/projects/client/ctoec/work/ch6_2e_c4k_calc/6_21_16_c4k.csv\"\n",
"outpath = \"/Users/tylerdahlberg/projects/client/ctoec/work/ch6_2e_c4k_calc/6_21_16_c4k_pivot.csv\"\n",
"df = pd.read_csv(inpath, encoding = \"ISO-8859-1\") # used http://goo.gl/mB2y5Z to help fix Unicode decode error\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"# Drop null value rows\n",
"filter_it = df[df.c4kratecalc_it.notnull()]\n",
"filter_ps = filter_it[filter_it.c4kratecalc_ps.notnull()]\n",
"filter_sa = filter_ps[filter_ps.c4kratecalc_sa.notnull()]\n",
"df_licensed = filter_sa[filter_sa.setting != 'UI']"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"# Create two pivot tables\n",
"pivot_licensed = pd.pivot_table(df_licensed, index=[\"town\"], \n",
" values=[\"c4kratecalc_it\", \"c4kratecalc_ps\", \"c4kratecalc_sa\"], \n",
" aggfunc={\"c4kratecalc_it\":np.mean, \"c4kratecalc_ps\":np.mean, \"c4kratecalc_sa\":np.mean})\n",
"\n",
"pivot_all = pd.pivot_table(filter_sa, index=[\"town\"], \n",
" values=[\"c4kratecalc_it\", \"c4kratecalc_ps\", \"c4kratecalc_sa\"], \n",
" aggfunc={\"c4kratecalc_it\":np.mean, \"c4kratecalc_ps\":np.mean, \"c4kratecalc_sa\":np.mean})\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>c4kratecalc_it</th>\n",
" <th>c4kratecalc_ps</th>\n",
" <th>c4kratecalc_sa</th>\n",
" <th>c4kratecalc_it</th>\n",
" <th>c4kratecalc_ps</th>\n",
" <th>c4kratecalc_sa</th>\n",
" <th>c4k_diff_it</th>\n",
" <th>c4k_diff_ps</th>\n",
" <th>c4k_diff_sa</th>\n",
" </tr>\n",
" <tr>\n",
" <th>town</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Andover</th>\n",
" <td>179.666667</td>\n",
" <td>143.000000</td>\n",
" <td>127.000000</td>\n",
" <td>168.750000</td>\n",
" <td>137.321429</td>\n",
" <td>123.607143</td>\n",
" <td>10.916667</td>\n",
" <td>5.678571</td>\n",
" <td>3.392857</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ansonia</th>\n",
" <td>212.880000</td>\n",
" <td>169.080000</td>\n",
" <td>151.640000</td>\n",
" <td>161.563830</td>\n",
" <td>138.265957</td>\n",
" <td>128.989362</td>\n",
" <td>51.316170</td>\n",
" <td>30.814043</td>\n",
" <td>22.650638</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Ashford</th>\n",
" <td>169.400000</td>\n",
" <td>134.200000</td>\n",
" <td>120.800000</td>\n",
" <td>150.500000</td>\n",
" <td>125.357143</td>\n",
" <td>115.785714</td>\n",
" <td>18.900000</td>\n",
" <td>8.842857</td>\n",
" <td>5.014286</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Avon</th>\n",
" <td>185.500000</td>\n",
" <td>147.450000</td>\n",
" <td>131.000000</td>\n",
" <td>185.500000</td>\n",
" <td>147.450000</td>\n",
" <td>131.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Barkhamsted</th>\n",
" <td>183.800000</td>\n",
" <td>146.800000</td>\n",
" <td>130.000000</td>\n",
" <td>170.375000</td>\n",
" <td>139.541667</td>\n",
" <td>125.541667</td>\n",
" <td>13.425000</td>\n",
" <td>7.258333</td>\n",
" <td>4.458333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Beacon Falls</th>\n",
" <td>191.571429</td>\n",
" <td>152.857143</td>\n",
" <td>135.714286</td>\n",
" <td>191.571429</td>\n",
" <td>152.857143</td>\n",
" <td>135.714286</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Berlin</th>\n",
" <td>198.421053</td>\n",
" <td>157.631579</td>\n",
" <td>140.473684</td>\n",
" <td>193.662500</td>\n",
" <td>154.912500</td>\n",
" <td>138.612500</td>\n",
" <td>4.758553</td>\n",
" <td>2.719079</td>\n",
" <td>1.861184</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bethany</th>\n",
" <td>194.375000</td>\n",
" <td>154.750000</td>\n",
" <td>138.125000</td>\n",
" <td>176.150000</td>\n",
" <td>144.450000</td>\n",
" <td>131.150000</td>\n",
" <td>18.225000</td>\n",
" <td>10.300000</td>\n",
" <td>6.975000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bethel</th>\n",
" <td>215.705882</td>\n",
" <td>171.823529</td>\n",
" <td>153.117647</td>\n",
" <td>215.705882</td>\n",
" <td>171.823529</td>\n",
" <td>153.117647</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bethlehem</th>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>175.083333</td>\n",
" <td>146.416667</td>\n",
" <td>134.416667</td>\n",
" <td>35.916667</td>\n",
" <td>21.583333</td>\n",
" <td>15.583333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bloomfield</th>\n",
" <td>201.285714</td>\n",
" <td>160.114286</td>\n",
" <td>143.000000</td>\n",
" <td>147.240385</td>\n",
" <td>128.766026</td>\n",
" <td>121.086538</td>\n",
" <td>54.045330</td>\n",
" <td>31.348260</td>\n",
" <td>21.913462</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bolton</th>\n",
" <td>201.000000</td>\n",
" <td>160.000000</td>\n",
" <td>143.000000</td>\n",
" <td>188.781250</td>\n",
" <td>152.906250</td>\n",
" <td>138.031250</td>\n",
" <td>12.218750</td>\n",
" <td>7.093750</td>\n",
" <td>4.968750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bozrah</th>\n",
" <td>152.000000</td>\n",
" <td>121.000000</td>\n",
" <td>107.000000</td>\n",
" <td>152.000000</td>\n",
" <td>121.000000</td>\n",
" <td>107.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Branford</th>\n",
" <td>195.440000</td>\n",
" <td>155.560000</td>\n",
" <td>138.920000</td>\n",
" <td>185.562500</td>\n",
" <td>149.955357</td>\n",
" <td>135.098214</td>\n",
" <td>9.877500</td>\n",
" <td>5.604643</td>\n",
" <td>3.821786</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bridgeport</th>\n",
" <td>259.266376</td>\n",
" <td>204.873362</td>\n",
" <td>184.301310</td>\n",
" <td>168.209545</td>\n",
" <td>145.562273</td>\n",
" <td>136.996818</td>\n",
" <td>91.056830</td>\n",
" <td>59.311090</td>\n",
" <td>47.304492</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bristol</th>\n",
" <td>190.086957</td>\n",
" <td>151.217391</td>\n",
" <td>134.652174</td>\n",
" <td>152.362705</td>\n",
" <td>130.379098</td>\n",
" <td>121.010246</td>\n",
" <td>37.724252</td>\n",
" <td>20.838293</td>\n",
" <td>13.641928</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Brookfield</th>\n",
" <td>196.111111</td>\n",
" <td>156.444444</td>\n",
" <td>138.944444</td>\n",
" <td>186.825000</td>\n",
" <td>151.125000</td>\n",
" <td>135.375000</td>\n",
" <td>9.286111</td>\n",
" <td>5.319444</td>\n",
" <td>3.569444</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Brooklyn</th>\n",
" <td>177.823529</td>\n",
" <td>140.764706</td>\n",
" <td>127.058824</td>\n",
" <td>156.072917</td>\n",
" <td>129.822917</td>\n",
" <td>120.114583</td>\n",
" <td>21.750613</td>\n",
" <td>10.941789</td>\n",
" <td>6.944240</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Burlington</th>\n",
" <td>195.100000</td>\n",
" <td>155.100000</td>\n",
" <td>138.200000</td>\n",
" <td>195.100000</td>\n",
" <td>155.100000</td>\n",
" <td>138.200000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Canaan</th>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Canterbury</th>\n",
" <td>169.400000</td>\n",
" <td>134.200000</td>\n",
" <td>120.800000</td>\n",
" <td>158.375000</td>\n",
" <td>129.041667</td>\n",
" <td>117.875000</td>\n",
" <td>11.025000</td>\n",
" <td>5.158333</td>\n",
" <td>2.925000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Canton</th>\n",
" <td>179.666667</td>\n",
" <td>143.000000</td>\n",
" <td>127.000000</td>\n",
" <td>172.025000</td>\n",
" <td>139.025000</td>\n",
" <td>124.625000</td>\n",
" <td>7.641667</td>\n",
" <td>3.975000</td>\n",
" <td>2.375000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Chaplin</th>\n",
" <td>181.000000</td>\n",
" <td>143.000000</td>\n",
" <td>130.000000</td>\n",
" <td>155.083333</td>\n",
" <td>129.750000</td>\n",
" <td>121.083333</td>\n",
" <td>25.916667</td>\n",
" <td>13.250000</td>\n",
" <td>8.916667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cheshire</th>\n",
" <td>192.866667</td>\n",
" <td>153.866667</td>\n",
" <td>136.666667</td>\n",
" <td>192.866667</td>\n",
" <td>153.866667</td>\n",
" <td>136.666667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Chester</th>\n",
" <td>206.800000</td>\n",
" <td>164.200000</td>\n",
" <td>147.400000</td>\n",
" <td>206.800000</td>\n",
" <td>164.200000</td>\n",
" <td>147.400000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Clinton</th>\n",
" <td>199.153846</td>\n",
" <td>158.384615</td>\n",
" <td>141.692308</td>\n",
" <td>186.366667</td>\n",
" <td>151.033333</td>\n",
" <td>136.566667</td>\n",
" <td>12.787179</td>\n",
" <td>7.351282</td>\n",
" <td>5.125641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Colchester</th>\n",
" <td>175.956522</td>\n",
" <td>139.173913</td>\n",
" <td>126.000000</td>\n",
" <td>165.185185</td>\n",
" <td>133.851852</td>\n",
" <td>122.629630</td>\n",
" <td>10.771337</td>\n",
" <td>5.322061</td>\n",
" <td>3.370370</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Colebrook</th>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Columbia</th>\n",
" <td>164.428571</td>\n",
" <td>130.428571</td>\n",
" <td>116.857143</td>\n",
" <td>164.428571</td>\n",
" <td>130.428571</td>\n",
" <td>116.857143</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cornwall</th>\n",
" <td>177.000000</td>\n",
" <td>141.500000</td>\n",
" <td>125.000000</td>\n",
" <td>177.000000</td>\n",
" <td>141.500000</td>\n",
" <td>125.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Thomaston</th>\n",
" <td>188.333333</td>\n",
" <td>150.333333</td>\n",
" <td>133.333333</td>\n",
" <td>145.791667</td>\n",
" <td>126.791667</td>\n",
" <td>118.291667</td>\n",
" <td>42.541667</td>\n",
" <td>23.541667</td>\n",
" <td>15.041667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Thompson</th>\n",
" <td>166.500000</td>\n",
" <td>132.000000</td>\n",
" <td>118.500000</td>\n",
" <td>142.173077</td>\n",
" <td>120.942308</td>\n",
" <td>112.634615</td>\n",
" <td>24.326923</td>\n",
" <td>11.057692</td>\n",
" <td>5.865385</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tolland</th>\n",
" <td>183.545455</td>\n",
" <td>146.090909</td>\n",
" <td>129.909091</td>\n",
" <td>181.183824</td>\n",
" <td>144.830882</td>\n",
" <td>129.125000</td>\n",
" <td>2.361631</td>\n",
" <td>1.260027</td>\n",
" <td>0.784091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Torrington</th>\n",
" <td>198.142857</td>\n",
" <td>158.000000</td>\n",
" <td>140.500000</td>\n",
" <td>157.108108</td>\n",
" <td>134.324324</td>\n",
" <td>124.391892</td>\n",
" <td>41.034749</td>\n",
" <td>23.675676</td>\n",
" <td>16.108108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Trumbull</th>\n",
" <td>213.358974</td>\n",
" <td>169.179487</td>\n",
" <td>150.820513</td>\n",
" <td>205.494048</td>\n",
" <td>164.470238</td>\n",
" <td>147.422619</td>\n",
" <td>7.864927</td>\n",
" <td>4.709249</td>\n",
" <td>3.397894</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Union</th>\n",
" <td>123.000000</td>\n",
" <td>99.000000</td>\n",
" <td>84.000000</td>\n",
" <td>123.000000</td>\n",
" <td>99.000000</td>\n",
" <td>84.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vernon</th>\n",
" <td>193.545455</td>\n",
" <td>153.939394</td>\n",
" <td>137.181818</td>\n",
" <td>156.459821</td>\n",
" <td>133.120536</td>\n",
" <td>123.245536</td>\n",
" <td>37.085633</td>\n",
" <td>20.818858</td>\n",
" <td>13.936282</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Voluntown</th>\n",
" <td>161.666667</td>\n",
" <td>128.333333</td>\n",
" <td>114.666667</td>\n",
" <td>138.300000</td>\n",
" <td>118.300000</td>\n",
" <td>110.100000</td>\n",
" <td>23.366667</td>\n",
" <td>10.033333</td>\n",
" <td>4.566667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wallingford</th>\n",
" <td>204.322034</td>\n",
" <td>162.423729</td>\n",
" <td>145.423729</td>\n",
" <td>192.253731</td>\n",
" <td>155.358209</td>\n",
" <td>140.388060</td>\n",
" <td>12.068303</td>\n",
" <td>7.065520</td>\n",
" <td>5.035669</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Warren</th>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>211.000000</td>\n",
" <td>168.000000</td>\n",
" <td>150.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Washington</th>\n",
" <td>188.333333</td>\n",
" <td>150.333333</td>\n",
" <td>133.333333</td>\n",
" <td>167.062500</td>\n",
" <td>138.562500</td>\n",
" <td>125.812500</td>\n",
" <td>21.270833</td>\n",
" <td>11.770833</td>\n",
" <td>7.520833</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Waterbury</th>\n",
" <td>232.225000</td>\n",
" <td>184.912500</td>\n",
" <td>164.793750</td>\n",
" <td>151.577869</td>\n",
" <td>133.849532</td>\n",
" <td>126.310890</td>\n",
" <td>80.647131</td>\n",
" <td>51.062968</td>\n",
" <td>38.482860</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Waterford</th>\n",
" <td>181.666667</td>\n",
" <td>144.000000</td>\n",
" <td>129.333333</td>\n",
" <td>155.527778</td>\n",
" <td>130.416667</td>\n",
" <td>120.638889</td>\n",
" <td>26.138889</td>\n",
" <td>13.583333</td>\n",
" <td>8.694444</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Watertown</th>\n",
" <td>183.800000</td>\n",
" <td>146.800000</td>\n",
" <td>130.000000</td>\n",
" <td>165.211538</td>\n",
" <td>136.750000</td>\n",
" <td>123.826923</td>\n",
" <td>18.588462</td>\n",
" <td>10.050000</td>\n",
" <td>6.173077</td>\n",
" </tr>\n",
" <tr>\n",
" <th>West Hartford</th>\n",
" <td>182.580645</td>\n",
" <td>145.258065</td>\n",
" <td>129.064516</td>\n",
" <td>157.900000</td>\n",
" <td>132.188889</td>\n",
" <td>121.033333</td>\n",
" <td>24.680645</td>\n",
" <td>13.069176</td>\n",
" <td>8.031183</td>\n",
" </tr>\n",
" <tr>\n",
" <th>West Haven</th>\n",
" <td>224.831579</td>\n",
" <td>178.452632</td>\n",
" <td>160.231579</td>\n",
" <td>169.630747</td>\n",
" <td>144.308908</td>\n",
" <td>134.360632</td>\n",
" <td>55.200832</td>\n",
" <td>34.143724</td>\n",
" <td>25.870947</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Westbrook</th>\n",
" <td>173.666667</td>\n",
" <td>139.000000</td>\n",
" <td>122.666667</td>\n",
" <td>173.666667</td>\n",
" <td>139.000000</td>\n",
" <td>122.666667</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Weston</th>\n",
" <td>189.666667</td>\n",
" <td>151.333333</td>\n",
" <td>132.666667</td>\n",
" <td>168.062500</td>\n",
" <td>139.312500</td>\n",
" <td>125.312500</td>\n",
" <td>21.604167</td>\n",
" <td>12.020833</td>\n",
" <td>7.354167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Westport</th>\n",
" <td>192.368421</td>\n",
" <td>153.368421</td>\n",
" <td>134.736842</td>\n",
" <td>192.368421</td>\n",
" <td>153.368421</td>\n",
" <td>134.736842</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wethersfield</th>\n",
" <td>185.178571</td>\n",
" <td>147.321429</td>\n",
" <td>131.000000</td>\n",
" <td>163.618421</td>\n",
" <td>135.723684</td>\n",
" <td>123.697368</td>\n",
" <td>21.560150</td>\n",
" <td>11.597744</td>\n",
" <td>7.302632</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Willington</th>\n",
" <td>161.666667</td>\n",
" <td>128.333333</td>\n",
" <td>114.666667</td>\n",
" <td>153.321429</td>\n",
" <td>124.750000</td>\n",
" <td>113.035714</td>\n",
" <td>8.345238</td>\n",
" <td>3.583333</td>\n",
" <td>1.630952</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wilton</th>\n",
" <td>209.681818</td>\n",
" <td>166.590909</td>\n",
" <td>147.727273</td>\n",
" <td>209.681818</td>\n",
" <td>166.590909</td>\n",
" <td>147.727273</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Winchester</th>\n",
" <td>177.000000</td>\n",
" <td>141.500000</td>\n",
" <td>125.000000</td>\n",
" <td>152.416667</td>\n",
" <td>128.750000</td>\n",
" <td>117.750000</td>\n",
" <td>24.583333</td>\n",
" <td>12.750000</td>\n",
" <td>7.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Windham</th>\n",
" <td>185.645161</td>\n",
" <td>147.193548</td>\n",
" <td>132.064516</td>\n",
" <td>141.950758</td>\n",
" <td>123.890152</td>\n",
" <td>116.784091</td>\n",
" <td>43.694404</td>\n",
" <td>23.303397</td>\n",
" <td>15.280425</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Windsor</th>\n",
" <td>201.581395</td>\n",
" <td>160.232558</td>\n",
" <td>143.000000</td>\n",
" <td>165.430147</td>\n",
" <td>139.283088</td>\n",
" <td>128.386029</td>\n",
" <td>36.151248</td>\n",
" <td>20.949470</td>\n",
" <td>14.613971</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Windsor Locks</th>\n",
" <td>201.000000</td>\n",
" <td>160.000000</td>\n",
" <td>143.000000</td>\n",
" <td>185.565789</td>\n",
" <td>151.039474</td>\n",
" <td>136.723684</td>\n",
" <td>15.434211</td>\n",
" <td>8.960526</td>\n",
" <td>6.276316</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Wolcott</th>\n",
" <td>194.500000</td>\n",
" <td>155.250000</td>\n",
" <td>137.625000</td>\n",
" <td>146.191176</td>\n",
" <td>127.720588</td>\n",
" <td>119.426471</td>\n",
" <td>48.308824</td>\n",
" <td>27.529412</td>\n",
" <td>18.198529</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Woodbridge</th>\n",
" <td>197.333333</td>\n",
" <td>157.000000</td>\n",
" <td>140.333333</td>\n",
" <td>197.333333</td>\n",
" <td>157.000000</td>\n",
" <td>140.333333</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Woodbury</th>\n",
" <td>181.857143</td>\n",
" <td>145.285714</td>\n",
" <td>128.571429</td>\n",
" <td>164.388889</td>\n",
" <td>135.944444</td>\n",
" <td>122.944444</td>\n",
" <td>17.468254</td>\n",
" <td>9.341270</td>\n",
" <td>5.626984</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Woodstock</th>\n",
" <td>157.800000</td>\n",
" <td>125.400000</td>\n",
" <td>111.600000</td>\n",
" <td>157.800000</td>\n",
" <td>125.400000</td>\n",
" <td>111.600000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>168 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" c4kratecalc_it c4kratecalc_ps c4kratecalc_sa c4kratecalc_it \\\n",
"town \n",
"Andover 179.666667 143.000000 127.000000 168.750000 \n",
"Ansonia 212.880000 169.080000 151.640000 161.563830 \n",
"Ashford 169.400000 134.200000 120.800000 150.500000 \n",
"Avon 185.500000 147.450000 131.000000 185.500000 \n",
"Barkhamsted 183.800000 146.800000 130.000000 170.375000 \n",
"Beacon Falls 191.571429 152.857143 135.714286 191.571429 \n",
"Berlin 198.421053 157.631579 140.473684 193.662500 \n",
"Bethany 194.375000 154.750000 138.125000 176.150000 \n",
"Bethel 215.705882 171.823529 153.117647 215.705882 \n",
"Bethlehem 211.000000 168.000000 150.000000 175.083333 \n",
"Bloomfield 201.285714 160.114286 143.000000 147.240385 \n",
"Bolton 201.000000 160.000000 143.000000 188.781250 \n",
"Bozrah 152.000000 121.000000 107.000000 152.000000 \n",
"Branford 195.440000 155.560000 138.920000 185.562500 \n",
"Bridgeport 259.266376 204.873362 184.301310 168.209545 \n",
"Bristol 190.086957 151.217391 134.652174 152.362705 \n",
"Brookfield 196.111111 156.444444 138.944444 186.825000 \n",
"Brooklyn 177.823529 140.764706 127.058824 156.072917 \n",
"Burlington 195.100000 155.100000 138.200000 195.100000 \n",
"Canaan 211.000000 168.000000 150.000000 211.000000 \n",
"Canterbury 169.400000 134.200000 120.800000 158.375000 \n",
"Canton 179.666667 143.000000 127.000000 172.025000 \n",
"Chaplin 181.000000 143.000000 130.000000 155.083333 \n",
"Cheshire 192.866667 153.866667 136.666667 192.866667 \n",
"Chester 206.800000 164.200000 147.400000 206.800000 \n",
"Clinton 199.153846 158.384615 141.692308 186.366667 \n",
"Colchester 175.956522 139.173913 126.000000 165.185185 \n",
"Colebrook 211.000000 168.000000 150.000000 211.000000 \n",
"Columbia 164.428571 130.428571 116.857143 164.428571 \n",
"Cornwall 177.000000 141.500000 125.000000 177.000000 \n",
"... ... ... ... ... \n",
"Thomaston 188.333333 150.333333 133.333333 145.791667 \n",
"Thompson 166.500000 132.000000 118.500000 142.173077 \n",
"Tolland 183.545455 146.090909 129.909091 181.183824 \n",
"Torrington 198.142857 158.000000 140.500000 157.108108 \n",
"Trumbull 213.358974 169.179487 150.820513 205.494048 \n",
"Union 123.000000 99.000000 84.000000 123.000000 \n",
"Vernon 193.545455 153.939394 137.181818 156.459821 \n",
"Voluntown 161.666667 128.333333 114.666667 138.300000 \n",
"Wallingford 204.322034 162.423729 145.423729 192.253731 \n",
"Warren 211.000000 168.000000 150.000000 211.000000 \n",
"Washington 188.333333 150.333333 133.333333 167.062500 \n",
"Waterbury 232.225000 184.912500 164.793750 151.577869 \n",
"Waterford 181.666667 144.000000 129.333333 155.527778 \n",
"Watertown 183.800000 146.800000 130.000000 165.211538 \n",
"West Hartford 182.580645 145.258065 129.064516 157.900000 \n",
"West Haven 224.831579 178.452632 160.231579 169.630747 \n",
"Westbrook 173.666667 139.000000 122.666667 173.666667 \n",
"Weston 189.666667 151.333333 132.666667 168.062500 \n",
"Westport 192.368421 153.368421 134.736842 192.368421 \n",
"Wethersfield 185.178571 147.321429 131.000000 163.618421 \n",
"Willington 161.666667 128.333333 114.666667 153.321429 \n",
"Wilton 209.681818 166.590909 147.727273 209.681818 \n",
"Winchester 177.000000 141.500000 125.000000 152.416667 \n",
"Windham 185.645161 147.193548 132.064516 141.950758 \n",
"Windsor 201.581395 160.232558 143.000000 165.430147 \n",
"Windsor Locks 201.000000 160.000000 143.000000 185.565789 \n",
"Wolcott 194.500000 155.250000 137.625000 146.191176 \n",
"Woodbridge 197.333333 157.000000 140.333333 197.333333 \n",
"Woodbury 181.857143 145.285714 128.571429 164.388889 \n",
"Woodstock 157.800000 125.400000 111.600000 157.800000 \n",
"\n",
" c4kratecalc_ps c4kratecalc_sa c4k_diff_it c4k_diff_ps \\\n",
"town \n",
"Andover 137.321429 123.607143 10.916667 5.678571 \n",
"Ansonia 138.265957 128.989362 51.316170 30.814043 \n",
"Ashford 125.357143 115.785714 18.900000 8.842857 \n",
"Avon 147.450000 131.000000 0.000000 0.000000 \n",
"Barkhamsted 139.541667 125.541667 13.425000 7.258333 \n",
"Beacon Falls 152.857143 135.714286 0.000000 0.000000 \n",
"Berlin 154.912500 138.612500 4.758553 2.719079 \n",
"Bethany 144.450000 131.150000 18.225000 10.300000 \n",
"Bethel 171.823529 153.117647 0.000000 0.000000 \n",
"Bethlehem 146.416667 134.416667 35.916667 21.583333 \n",
"Bloomfield 128.766026 121.086538 54.045330 31.348260 \n",
"Bolton 152.906250 138.031250 12.218750 7.093750 \n",
"Bozrah 121.000000 107.000000 0.000000 0.000000 \n",
"Branford 149.955357 135.098214 9.877500 5.604643 \n",
"Bridgeport 145.562273 136.996818 91.056830 59.311090 \n",
"Bristol 130.379098 121.010246 37.724252 20.838293 \n",
"Brookfield 151.125000 135.375000 9.286111 5.319444 \n",
"Brooklyn 129.822917 120.114583 21.750613 10.941789 \n",
"Burlington 155.100000 138.200000 0.000000 0.000000 \n",
"Canaan 168.000000 150.000000 0.000000 0.000000 \n",
"Canterbury 129.041667 117.875000 11.025000 5.158333 \n",
"Canton 139.025000 124.625000 7.641667 3.975000 \n",
"Chaplin 129.750000 121.083333 25.916667 13.250000 \n",
"Cheshire 153.866667 136.666667 0.000000 0.000000 \n",
"Chester 164.200000 147.400000 0.000000 0.000000 \n",
"Clinton 151.033333 136.566667 12.787179 7.351282 \n",
"Colchester 133.851852 122.629630 10.771337 5.322061 \n",
"Colebrook 168.000000 150.000000 0.000000 0.000000 \n",
"Columbia 130.428571 116.857143 0.000000 0.000000 \n",
"Cornwall 141.500000 125.000000 0.000000 0.000000 \n",
"... ... ... ... ... \n",
"Thomaston 126.791667 118.291667 42.541667 23.541667 \n",
"Thompson 120.942308 112.634615 24.326923 11.057692 \n",
"Tolland 144.830882 129.125000 2.361631 1.260027 \n",
"Torrington 134.324324 124.391892 41.034749 23.675676 \n",
"Trumbull 164.470238 147.422619 7.864927 4.709249 \n",
"Union 99.000000 84.000000 0.000000 0.000000 \n",
"Vernon 133.120536 123.245536 37.085633 20.818858 \n",
"Voluntown 118.300000 110.100000 23.366667 10.033333 \n",
"Wallingford 155.358209 140.388060 12.068303 7.065520 \n",
"Warren 168.000000 150.000000 0.000000 0.000000 \n",
"Washington 138.562500 125.812500 21.270833 11.770833 \n",
"Waterbury 133.849532 126.310890 80.647131 51.062968 \n",
"Waterford 130.416667 120.638889 26.138889 13.583333 \n",
"Watertown 136.750000 123.826923 18.588462 10.050000 \n",
"West Hartford 132.188889 121.033333 24.680645 13.069176 \n",
"West Haven 144.308908 134.360632 55.200832 34.143724 \n",
"Westbrook 139.000000 122.666667 0.000000 0.000000 \n",
"Weston 139.312500 125.312500 21.604167 12.020833 \n",
"Westport 153.368421 134.736842 0.000000 0.000000 \n",
"Wethersfield 135.723684 123.697368 21.560150 11.597744 \n",
"Willington 124.750000 113.035714 8.345238 3.583333 \n",
"Wilton 166.590909 147.727273 0.000000 0.000000 \n",
"Winchester 128.750000 117.750000 24.583333 12.750000 \n",
"Windham 123.890152 116.784091 43.694404 23.303397 \n",
"Windsor 139.283088 128.386029 36.151248 20.949470 \n",
"Windsor Locks 151.039474 136.723684 15.434211 8.960526 \n",
"Wolcott 127.720588 119.426471 48.308824 27.529412 \n",
"Woodbridge 157.000000 140.333333 0.000000 0.000000 \n",
"Woodbury 135.944444 122.944444 17.468254 9.341270 \n",
"Woodstock 125.400000 111.600000 0.000000 0.000000 \n",
"\n",
" c4k_diff_sa \n",
"town \n",
"Andover 3.392857 \n",
"Ansonia 22.650638 \n",
"Ashford 5.014286 \n",
"Avon 0.000000 \n",
"Barkhamsted 4.458333 \n",
"Beacon Falls 0.000000 \n",
"Berlin 1.861184 \n",
"Bethany 6.975000 \n",
"Bethel 0.000000 \n",
"Bethlehem 15.583333 \n",
"Bloomfield 21.913462 \n",
"Bolton 4.968750 \n",
"Bozrah 0.000000 \n",
"Branford 3.821786 \n",
"Bridgeport 47.304492 \n",
"Bristol 13.641928 \n",
"Brookfield 3.569444 \n",
"Brooklyn 6.944240 \n",
"Burlington 0.000000 \n",
"Canaan 0.000000 \n",
"Canterbury 2.925000 \n",
"Canton 2.375000 \n",
"Chaplin 8.916667 \n",
"Cheshire 0.000000 \n",
"Chester 0.000000 \n",
"Clinton 5.125641 \n",
"Colchester 3.370370 \n",
"Colebrook 0.000000 \n",
"Columbia 0.000000 \n",
"Cornwall 0.000000 \n",
"... ... \n",
"Thomaston 15.041667 \n",
"Thompson 5.865385 \n",
"Tolland 0.784091 \n",
"Torrington 16.108108 \n",
"Trumbull 3.397894 \n",
"Union 0.000000 \n",
"Vernon 13.936282 \n",
"Voluntown 4.566667 \n",
"Wallingford 5.035669 \n",
"Warren 0.000000 \n",
"Washington 7.520833 \n",
"Waterbury 38.482860 \n",
"Waterford 8.694444 \n",
"Watertown 6.173077 \n",
"West Hartford 8.031183 \n",
"West Haven 25.870947 \n",
"Westbrook 0.000000 \n",
"Weston 7.354167 \n",
"Westport 0.000000 \n",
"Wethersfield 7.302632 \n",
"Willington 1.630952 \n",
"Wilton 0.000000 \n",
"Winchester 7.250000 \n",
"Windham 15.280425 \n",
"Windsor 14.613971 \n",
"Windsor Locks 6.276316 \n",
"Wolcott 18.198529 \n",
"Woodbridge 0.000000 \n",
"Woodbury 5.626984 \n",
"Woodstock 0.000000 \n",
"\n",
"[168 rows x 9 columns]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Concatenate two pivot tables, add calculated rows\n",
"pivot_concat = pd.concat((pivot_licensed, pivot_all), axis=1)\n",
"pivot_concat['c4k_diff_it'] = pivot_licensed[\"c4kratecalc_it\"] - pivot_all[\"c4kratecalc_it\"]\n",
"pivot_concat['c4k_diff_ps'] = pivot_licensed[\"c4kratecalc_ps\"] - pivot_all[\"c4kratecalc_ps\"]\n",
"pivot_concat['c4k_diff_sa'] = pivot_licensed[\"c4kratecalc_sa\"] - pivot_all[\"c4kratecalc_sa\"]"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Export the file to the path set on line 10\n",
"pivot_concat.to_csv(outpath)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment