|
|
|
@ -23,7 +23,7 @@
@@ -23,7 +23,7 @@
|
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"cell_type": "code", |
|
|
|
|
"execution_count": 15, |
|
|
|
|
"execution_count": 25, |
|
|
|
|
"metadata": { |
|
|
|
|
"collapsed": false |
|
|
|
|
}, |
|
|
|
@ -76,8 +76,14 @@
@@ -76,8 +76,14 @@
|
|
|
|
|
" # Populate the JSON skeleton\n", |
|
|
|
|
" \n", |
|
|
|
|
" for k,v in zip(bcl_groups.keys(),bcl_groups.values()):\n", |
|
|
|
|
" dfvalue = df.ix[v][value_label].values[0]\n", |
|
|
|
|
" if type(dfvalue)==type('asdf'):\n", |
|
|
|
|
" tree[k[0]][k[1]][k[2]] = float(df.ix[v][value_label].values[0][1:])\n", |
|
|
|
|
" else:\n", |
|
|
|
|
" tree[k[0]][k[1]][k[2]] = dfvalue\n", |
|
|
|
|
" #tree[k[0]][k[1]][k[2]] = df.ix[v][value_label].values[0]\n", |
|
|
|
|
" tree[k[0]][k[1]][k[2]] = float(df.ix[v][value_label].values[0][1:])\n", |
|
|
|
|
"\n", |
|
|
|
|
" \n", |
|
|
|
|
" \n", |
|
|
|
|
" #print json.dumps(tree, indent=4, separators=(',', ': '))\n", |
|
|
|
|
"\n", |
|
|
|
@ -113,7 +119,7 @@
@@ -113,7 +119,7 @@
|
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"cell_type": "code", |
|
|
|
|
"execution_count": 16, |
|
|
|
|
"execution_count": 26, |
|
|
|
|
"metadata": { |
|
|
|
|
"collapsed": false |
|
|
|
|
}, |
|
|
|
@ -130,24 +136,11 @@
@@ -130,24 +136,11 @@
|
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"cell_type": "code", |
|
|
|
|
"execution_count": 17, |
|
|
|
|
"execution_count": 28, |
|
|
|
|
"metadata": { |
|
|
|
|
"collapsed": false |
|
|
|
|
}, |
|
|
|
|
"outputs": [ |
|
|
|
|
{ |
|
|
|
|
"ename": "IndexError", |
|
|
|
|
"evalue": "invalid index to scalar variable.", |
|
|
|
|
"output_type": "error", |
|
|
|
|
"traceback": [ |
|
|
|
|
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
|
|
|
|
"\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", |
|
|
|
|
"\u001b[0;32m<ipython-input-17-18fc238f31e7>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mgroupby_groups\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'Fund'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'Department'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'BCL Name'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mvalue_label\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'2013 Expenditure Allowance'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mtree_json\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtreeify_dataframe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mgroupby_groups\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mvalue_label\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'budget2013.json'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'w'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
|
|
|
|
"\u001b[0;32m<ipython-input-15-1d515b754da2>\u001b[0m in \u001b[0;36mtreeify_dataframe\u001b[0;34m(df, groupby_groups, value_label)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbcl_groups\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mbcl_groups\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0;31m#tree[k[0]][k[1]][k[2]] = df.ix[v][value_label].values[0]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m \u001b[0mtree\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfloat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mix\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mvalue_label\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 50\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0;31m#print json.dumps(tree, indent=4, separators=(',', ': '))\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", |
|
|
|
|
"\u001b[0;31mIndexError\u001b[0m: invalid index to scalar variable." |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
"outputs": [], |
|
|
|
|
"source": [ |
|
|
|
|
"df = pd.read_csv('budget2013.csv')\n", |
|
|
|
|
"groupby_groups = ['Fund','Department','BCL Name']\n", |
|
|
|
@ -160,7 +153,7 @@
@@ -160,7 +153,7 @@
|
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
"cell_type": "code", |
|
|
|
|
"execution_count": 18, |
|
|
|
|
"execution_count": 29, |
|
|
|
|
"metadata": { |
|
|
|
|
"collapsed": false |
|
|
|
|
}, |
|
|
|
|