Skip to content

Instantly share code, notes, and snippets.

@nsonnad
Last active December 23, 2015 12:19
Show Gist options
  • Select an option

  • Save nsonnad/6634047 to your computer and use it in GitHub Desktop.

Select an option

Save nsonnad/6634047 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "post-refine1"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": "import pandas as pd\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport re\n\nfrom mpltools import style\nfrom mpltools import layout\nstyle.use('ggplot')\nplt.rc('figure', figsize=(14, 8))",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "markdown",
"metadata": {},
"source": "##Load data"
},
{
"cell_type": "code",
"collapsed": false,
"input": "df = pd.read_csv('../csv/tenders_cleaned2_refine.csv')",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": "cats = pd.read_csv('../csv/categories.csv')",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": "##Establish categories"
},
{
"cell_type": "code",
"collapsed": false,
"input": "#lowercase everything\ndef to_lower(subset):\n l = [s.lower() for s in subset]\n return l\n\ncats.cat2 = to_lower(cats.cat2)\ncats.cat1 = to_lower(cats.cat1)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": "# put categories into key/val pairs\ncat_dict = {}\nfor r in cats.iterrows():\n d = r[1].to_dict()\n cat_dict[d['cat2']] = d['cat1']",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": "# find 2nd-level categories that don't match official ones\nunmatched = []\nfor u in df.category:\n if u not in cat_dict.keys() and u not in cat_dict.values():\n unmatched.append(u)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": "# uniques\nunm_set = set(unmatched)\nunm_set.remove(nan)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": "# add key/val pairs for categories that hit char limit\nfor v in unm_set:\n pat = r'' + re.escape(v) + '.+'\n if len(v) > len('database information retrieval'):\n for k in cat_dict.keys():\n if re.search(pat, k) or re.search(pat, cat_dict[k]) and v not in cat_dict.keys():\n cat_dict[v] = cat_dict[k]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": "# add 1st-level category to DF\ndf['category1'] = [cat_dict[v] if v in cat_dict.keys() else v if v in cat_dict.values() else 'NA' for v in df.category]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "code",
"collapsed": false,
"input": "df.abn = df.abn.apply(str)",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 78
},
{
"cell_type": "markdown",
"metadata": {},
"source": "###Groupings"
},
{
"cell_type": "code",
"collapsed": false,
"input": "abns = df.groupby('abn', sort=False)\nsuppliers = df.groupby('supplier')\ncategories = df.groupby('category1', sort=False)\ncountries = df.groupby('sup_country')\ndates = df.groupby('pub_date')\nagencies = df.groupby('agency')",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 99
},
{
"cell_type": "markdown",
"metadata": {},
"source": "###Analysis"
},
{
"cell_type": "code",
"collapsed": false,
"input": "# total value on a given day\ndates.value.sum().plot()",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 90,
"text": "<matplotlib.axes._subplots.AxesSubplot at 0x106a29dd0>"
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nqPanL8s7KSitBAEVxUrxDVRBJ8gGoqhcQLVy5Ur9x3/8h/bee28tLCzoU5/6lF772tdqr732yjtp\nQLBhtgxTAQpX0vqDOeN41f7mzap96Mi8kwKgMrhhAFFUbsjfi170Iu29996SpDVr1ugVr3iFXnjh\nhXwTBRQB98XKs6aRdxIwakraADFSGMpZDgz1K7XKBVRuW7Zs0aOPPqq/+Iu/yDspQHFQaFcX5xaD\nSFLxJssVX6tcMFddLPvU4zE/TDA2dFxTpVS5IX+OhYUFnXrqqXrve9+rNWvWtF+fnp7W9PR0+/ep\nqSlNTEzkkUSMqPHxcU1MTGimdZ+amJiQqVntaP2clcbuazUrad26dRorSJ6fkbRm9WqtLkh6JGl+\n1SotKdtzkdTC6tVakH/aZiStHBvTOs/fnPyGfBU5X0mt/LNyZU/+6Wdh9XhXniS/FcuMmqN1Vk9M\naObH39Kq//f/09pDPhX5s7utWa3xAp/PKuW35bVrtVPS2t3XamVFvlNVbdiwof3z5OSkJicnqxlQ\nLS8v65RTTtGb3/xmveENb+j6m/PF3WZnZ4eZPIy4iYmJZp5rtULNzs7Kzs21f86K3dncx86dO1Vb\nOZ7ZfuJaWFzUUoGuQbNUl1TMcsEsLkoKTttyvd7zt3Z+Q65Mvbj5yrHcaMROn1laktT5XuS34llY\nWGiXsXWfMiLMroUFLRb4fFYpv9n5eUnS/Ny8ahX5TlU0MTGhqampntcrN+TPWquzzz5br3jFK/QP\n//APeScHKCDGE1SWMXmnAKOG4qT4WOWvJLiYyqxyPVT33Xeffvvb3+qVr3yljjrqKEnSgQceqL/+\n67/OOWVA3iisK485VABSRZkyfBzzMqpcQPXqV79aP/7xj/NOBlBclNXVZemhwgBYDQ4AEqnckD+g\nzCw9DBgEQ/4AhIkdMxNkA1EQUAGF0AqksgyoiNWiKXP9gYAcg6CHqjDs3bercdaXMthw5h9AUhzq\nUiOgQirs/JzsM0/mnYzyaleEh1CiUukOV+bDQw8VUAn2luulP/w+72QAiIiACqmwPzhb5thD805G\n+WVamS9zpIBImEMFIAxD/oqPRs9SIqBCKuzCrryTUG7tDqphFKQU1pXFjRgDofIML8oUIAoCKqAQ\nhjDkj8p29XGOkRG74wWZH30z72QgCcoFIHMEVEARODc87nsYBHOoMIiQDio7fYfs1ZcMLy0oCHot\n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\n//7qxIkTasGCBWrZsmVKKaWWLl2qFi5cqJRS6sSJE2rgwIEqNzdXnTt3TvXt21cZhqGUUmrx4sWW\nbCqlLPkrzKXK3A8//KBmzZqllFIqNjbWkjmllHr22Wc9/laRuavP5ZK33Nxc1bNnT3XhwgWllFIL\nFixQX331le01PclbTEyMmj17dol1vnjxovV58+bN6r333lNKKXXhwgXVt29flZ6ertLT063PDkTe\nrg3KKnNZWVlq7969avXq1UXkozRtV0nHXbx4UQ0fPlwNGzZMHTp0yLa89KtOrjeZu1zylp2drXbv\n3q2UUio3N1cNHz68zPLmqe0qTHx8vDp27JiaPHmy+vXXX932SZ8qXMsU6/J32223WZZZB2fOnOG2\n224DoHHjxvz2228AnDp1ygolGBgYiL+/P3FxcZw7d46IiAjLWtu4cWM2btxY5FrJyclkZWXRoEED\nANq2bcumTZuKHLdhwwbatGljW9/IyEh8fHwAuOWWW0hMTAQgIiKC6tWrAxAcHExgYCBpaWmuSmVh\nJZPdu3dblpF27dqxefNmALZs2UK7du2sa2RkZJCSknJNlT99+jTffvstffv2tb1P1ypBQUGWxcrX\n15eaNWuSlJTk9pvbt29v3YvNmzfTpk0bvL29CQ8Pp3r16sTFxQHmjEGXLl2sc9vNFlwOmXOtW6tW\nrfj9999L9VtF5q4+l0vedF3H39+frKwslFJkZmYSEhJS5Hqllbfi8PPzsz5nZWVZcr1jxw7uuOMO\n/P398ff3p3HjxuzYscM6VuTt2qCsMlexYkVuvfVWKlSo4Hae0spSScctXryYJ554osj5XZF+1eR6\nlLnLJW8+Pj6Wx5G3tzf16tUjKSmpyPWKkzdPbVdhwsLCqFOnDrpethUpIm/C1abMa6hq165tCcXG\njRutxrVu3bps2bIFwzCIj4/n8OHDJCUlERERwenTpzl//jz5+fls2rTJKuNKUlKS2yAkJCSkyAt7\n/vx5zp8/z+23315iPdesWWObjyouLo78/HyrI7DjwoUL+Pv7Wy+0a12SkpIstxyAqlWrWvtGjx5N\nSkrKVSsPpqvbpEmTeO6559yOu96Ij4/n6NGj3HLLLaSmphIUFARAlSpVSE1NBczG2+5eZGRkALBo\n0SIGDx7MuHHjrDKuXA6Zc30eXl5eVKpUifT0dMB0Bxw8eDDDhg2z3hlPiMxdXcorb4mJiZb735tv\nvslrr73GqVOn6NChQ5FrlCRvv/32GwMHDmTcuHG2baSDVatW0a9fP+bPn2+53Xh6Fzwh8nb1KY3M\neaI0bVdJxzn66GbNmpW6ztKvXr8ydyny5kpGRgZbt2617RNLkku7tqssSJ8qXMuUObFvr169mDt3\nLt9++y0tWrSw/EE7duzIqVOnGDJkCKGhoTRs2NCy3EZFRTFhwgQ0TaNhw4acO3euXJWNjY2ldevW\naJpW7HHr16/nyJEjPP/8827bk5OTmTJlyiVr/IUtIQ7eeustADcr3ZUsD6bFsU6dOtx9993FnuNa\nJisri+joaF544QU3qxZQ4rMHyM/PJykpiT/96U8899xzLF++nAULFpTruZdW5uyYNm0awcHBxMfH\nM3LkSOrUqUO1atXKfB4QmfsjuRR50zSNixcvMnfuXMaOHUt4eDhz5sxh2bJldO3atdR1aNGiBffe\ney/e3t78+OOPTJ06leHDh9se++CDD/Lggw+yYcMGpk+fzogRI0p9ndIi8vbHcqlt3KWilGL+/Pn0\n6dOn1GWkX71+Ze5yyVt+fj4TJ07k4YcfttYqlYVLbbukTxWuZcqsUNWoUYNhw4YB5pTktm3bANB1\n3a2hfeedd4iIiACgefPmNG/eHIAff/wRLy8vDMNg8ODBaJpGixYteOCBB9w09MTExCJuM7/++isv\nvfSS9X3RokVs27YNTdP4+OOPAdi5cydLly5l5MiRlrIHcPHiRT766CN69OhhTUd7IiAggIyMDAzD\nQNd1N6tLSEiIm/XYrp5Xq/zu3bvZtGmTdS+uR/Ly8oiOjqZt27bcddddgGlBS0lJISgoiOTkZKpU\nqQJ4vhcBAQH4+PhYQShat25NTEzMHyJzISEhJCQkEBISQn5+PhcvXqRy5cqA6QYDEB4eTmRkJEeO\nHPHY+IvMXR0uh7ydOnWK8PBwa4DRunVr/v3vf5dJ3hwyA6ZxauHChQB8+eWXbN++3a2Nc3DPPfcw\na9Ysq26OICqOcxc3ky/ydvUoi8x5orDlPzExkapVq5ZK5qpWrUpmZiYnTpzg3XffBSAlJYUxY8Yw\naNAgNm3aJP3qDSRzl0PeHMyYMYMaNWrwyCOPAJSrTwX3tqu4Nq6wsid9qnAtU2aXP4fWbRgGS5Ys\n4YEHHgDMKDBZWVmA2fh6eXlRs2ZNAGs6OT09ndWrV9OpUyd0XWfs2LGMGTOGJ598kqCgIPz8/Dh4\n8CBKKX7++Wfr5QdzjVZ6ejoNGza0tnXv3p0xY8ZYgnfkyBFmzZrF4MGDCQwMtI7Ly8vjk08+oV27\ndraR3gqjaRqRkZHWWq+1a9fSsmVLwLQkr1+/HoADBw7g7+9vTZ1fzfLp6elMmzaNvn374uvrW+Jv\nvBZRSvHpp59Ss2ZNOnfubG1v0aIFa9euBWDdunVu9yI2Npa8vDzi4+M5e/YsDRo0QNM0mjdvzq5d\nuwDYtWsXtWrV+kNkrkWLFqxbtw4wXWAbN24MmG4Rubm5gPnO7N+/n9q1a3v87SJzV57LJW/VqlXj\n1KlTVtu4c+fOMsubq//8li1bqFWrFgA9evRwk7ezZ89ax23bts2KeNWkSRN27txJRkYG6enp7Ny5\n04pAaIfI29WhrDLnieDg4CKy1LJly1LJXMuWLalUqRKzZ89m6tSpTJ06lYYNGzJo0CDq168v/eoN\nJHOXS97ANCZmZma6Gc7L0sZ5arsKt3GudXedxZE+VbjW0VQx844TJkxg7969pKWlERQUxN/+9jey\nsrJYtWoVYC7Cd/jBxsfHM2rUKDRNo2rVqrz22muEhoYCMHHiRI4dOwZAt27duOeee2yv5wi3mZOT\nQ9OmTd1CxH799dfk5uYW63f7/vvvc+LECUuwHWE1169fz/Tp091evt69e1uLNffs2cP333/P4MGD\nrf2u4S7r1atHv379LMvc7Nmz2bFjB76+vvTq1csKNTt69Gh69epFUFDQFS+/dOlSlixZYs0KOujS\npct1M228b98+RowYQZ06dSzL1NNPP02DBg08hrFesmQJMTExeHl58cILL1ihRRMSEpg8eTIXL14k\nMDCQ3r172/oiX6rM5ebmMnnyZI4ePUpAQACvv/464eHhHDhwgJkzZ6JpGkopOnfu7LauRmTu6nM5\n5W3dunV899136LpOWFgYvXv3dpt1cuBJ3r744gu2bt2KrusEBAQQFRVFjRo1ipT//PPP+f33360Q\n1lFRUda6lZiYGLew6e3bt7fKibxdG5RH5vr06UNmZiZ5eXn4+/vz9ttvU7NmzWLbLldKc9zIkSN5\n9tlnbcOmS796/crc5ZI3X19fevfuTc2aNa375Sm1gyd5K67tciUuLo7o6GjS09Px8fEhKCiI6Oho\n9u/fz6xZs6RPFa5ZilWoBEEQBEEQBEEQBM+U2eVPEARBEARBEARBMBGFShAEQRAEQRAEoZyIQiUI\ngiAIgiAIglBORKESBEEQBEEQBEEoJ6JQCYIgCIIgCIIglBNRqARBEARBEARBEMqJKFSCIAjCDc3U\nqVNZtGjRJZ/n3XffZc2aNZehRoIgCMKNhChUgiAIwg2NpmlWYtNLPU9p6dOnD7t27brkawqCIAjX\nPqJQCYIgCDc8VyOH/dW4piAIgnDl8b7aFRAEQRCE0tCnTx/uv/9+1q9fT3JyMi1btuTll18mNjaW\nNWvW8N5771nHPvXUU0yaNIlq1aoBcOHCBT744AMOHjxIvXr16Nu3L6GhocVeb+fOncyZM4eUlBTa\ntm3rpiCdPXuWGTNmcPz4cQCaNGlCVFQUlSpVYvLkySQkJPDxxx+j6zrdunXj8ccf58CBA8yfP59T\np04RGhpKz549adSo0R9wpwRBEIQricxQCYIgCNcNGzZs4O2332by5MmcOXOGb7/9tsQySik2bNhA\nt27dmD17NjfddBOTJk0qtkxaWhrR0dH06NGDOXPmUK1aNfbv3+92TNeuXZkxYwbjx48nMTGRr776\nCoB+/foRGhrKkCFDmD9/Po8//jhJSUl8/PHHdOvWjblz5/Lss88SHR1NWlpa+W+GIAiCcE0gCpUg\nCIJw3fDQQw8REhJC5cqV6dq1K7GxsaUq16xZM2699Va8vb3p3r07Bw4cICkpyePx27dvp3bt2rRq\n1Qpd1+ncuTNBQUHW/urVq9O4cWO8vb0JDAykc+fO7N271+P51q9fT9OmTbnzzjsBuOOOO6hfvz7b\nt28v5S8XBEEQrlXE5U8QBEG4bqhatar1OTQ0lOTk5BLLaJrmVs7X15fKlSuTlJRESEiIbZnk5OQi\n+1zPkZKSwueff86+ffvIzMxEKUXlypU91iEhIYFff/2VrVu3Wtvy8/O5/fbbS6y/IAiCcG0jCpUg\nCIJw3ZCQkOD2OTg4GF9fX7Kzs63tKSkpbmWUUm7lsrKySE9P96hMAQQHB5OYmOh2DtfvX375Jbqu\nEx0djb+/P5s2bWLu3LnW/sIRAUNDQ2nbti2vvvpqGX6tIAiCcD0gLn+CIAjCdcPq1atJSkoiPT2d\nJUuW0KZNG+rWrcvJkyc5evQoOTk51lomV7Zv386+ffvIy8tj0aJFNGzYsFiFqlmzZpw8eZJNmzaR\nn5/PypUr3RS1rKwsKlasiJ+fH0lJSXz//fdu5atUqcLZs2et7/fddx9bt27lf//7H4ZhkJOTw+7d\nu4t1OxQEQRCuDzQlcV0FQRCE6wC7KH9RUVH4+PiwZMkSVqxYQcWKFenRowdTpkyxovxNmzYNHx8f\nzp49y4EDB6hfvz59+vQhLCys2Ovt2LGDuXPnkpqaStu2bTlx4gT33XcfHTt25OTJk0yZMoXTp08T\nERHBfffdx4oVK5g+fToAW7ZsYc6cOWRmZvLXv/6VRx99lLi4OBYuXMjx48fRdZ0GDRoQFRVVYrRB\nQRAE4dpGFCpBEAThuqBPnz706tVL1h0JgiAI1xTi8icIgiAIgiAIglBOJCiFIAiC8P+SvXv3Mnr0\n6CLbNU1j3rx5V6FGgiAIwvWIuPwJgiAIgiAIgiCUE3H5EwRBEARBEARBKCeiUAmCIAiCIAiCIJQT\nUagEQRAEQRAEQRDKiShUgiAIgiAIgiAI5UQUKkEQBEEQBEEQhHLyf5EpSM53y4dIAAAAAElFTkSu\nQmCC\n",
"text": "<matplotlib.figure.Figure at 0x106a29990>"
}
],
"prompt_number": 90
},
{
"cell_type": "code",
"collapsed": false,
"input": "# single abns with 1+ supplier names\nmult_abns = []\nfor name, g in abns:\n sups = len(g.supplier.value_counts())\n if sups > 1:\n mult_abns.append((int(name), sups))",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 80
},
{
"cell_type": "code",
"collapsed": false,
"input": "# convert to df\nmult_df = pd.DataFrame(mult_abns)\nmult_df.columns = ['abn', 'supplier_count']",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 81
},
{
"cell_type": "code",
"collapsed": false,
"input": "# abns with over 10 supplier names\nover_10 = mult_df[(mult_df.supplier_count > 10) & (mult_df.abn.str != '0')]",
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 82
},
{
"cell_type": "code",
"collapsed": false,
"input": "# of those, top 20\nover_10.sort('supplier_count', ascending=False)[:20]",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>abn</th>\n <th>supplier_count</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>5 </th>\n <td> 0</td>\n <td> 6989</td>\n </tr>\n <tr>\n <th>169 </th>\n <td> 68706814312</td>\n <td> 237</td>\n </tr>\n <tr>\n <th>46 </th>\n <td> 69405937639</td>\n <td> 90</td>\n </tr>\n <tr>\n <th>80 </th>\n <td> 61970632495</td>\n <td> 90</td>\n </tr>\n <tr>\n <th>376 </th>\n <td> 28864970579</td>\n <td> 81</td>\n </tr>\n <tr>\n <th>155 </th>\n <td> 41687119230</td>\n <td> 75</td>\n </tr>\n <tr>\n <th>849 </th>\n <td> 84085734992</td>\n <td> 68</td>\n </tr>\n <tr>\n <th>1212</th>\n <td> 24113085695</td>\n <td> 63</td>\n </tr>\n <tr>\n <th>83 </th>\n <td> 52234063906</td>\n <td> 50</td>\n </tr>\n <tr>\n <th>114 </th>\n <td> 33051775556</td>\n <td> 50</td>\n </tr>\n <tr>\n <th>13 </th>\n <td> 47001407281</td>\n <td> 49</td>\n </tr>\n <tr>\n <th>1013</th>\n <td> 57195873179</td>\n <td> 48</td>\n </tr>\n <tr>\n <th>417 </th>\n <td> 36342015855</td>\n <td> 39</td>\n </tr>\n <tr>\n <th>306 </th>\n <td> 92661124436</td>\n <td> 36</td>\n </tr>\n <tr>\n <th>240 </th>\n <td> 43002724334</td>\n <td> 34</td>\n </tr>\n <tr>\n <th>89 </th>\n <td> 58000205210</td>\n <td> 34</td>\n </tr>\n <tr>\n <th>360 </th>\n <td> 31006604191</td>\n <td> 33</td>\n </tr>\n <tr>\n <th>606 </th>\n <td> 77074196991</td>\n <td> 33</td>\n </tr>\n <tr>\n <th>375 </th>\n <td> 28080275378</td>\n <td> 32</td>\n </tr>\n <tr>\n <th>1776</th>\n <td> 27000761259</td>\n <td> 32</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 93,
"text": " abn supplier_count\n5 0 6989\n169 68706814312 237\n46 69405937639 90\n80 61970632495 90\n376 28864970579 81\n155 41687119230 75\n849 84085734992 68\n1212 24113085695 63\n83 52234063906 50\n114 33051775556 50\n13 47001407281 49\n1013 57195873179 48\n417 36342015855 39\n306 92661124436 36\n240 43002724334 34\n89 58000205210 34\n360 31006604191 33\n606 77074196991 33\n375 28080275378 32\n1776 27000761259 32"
}
],
"prompt_number": 93
},
{
"cell_type": "code",
"collapsed": false,
"input": "# suppliers for ABN with largest number of unique suppliers\ndf[df.abn == '68706814312'].supplier.value_counts()",
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 84,
"text": "department of defence 559\nthales 142\ndefence interagency transfers 84\ndefence materiel organisation 63\nmilspec services 54\nsikorsky aircraft 53\nland rover 43\ndmo interagency transfers 37\nasia pacific aerospace 24\naustralian defence apparel 21\nbae systems 16\ndefence materiel organisation dmo 16\ndsto 11\ndsto psl srm 11\ndefence support 10\n...\naustralian defence college 1\ncant tear em 1\naqis canberra 1\npoint trading 1\nengelite 1\nplatypus outdoor group 1\nstanford technologies 1\ncorporate flag banner co 1\nrolex printing 1\ngmc 1\ncpm dept of defence 1\nnioa 1\nsirway asia pacific 1\naerospace composities 1\npower parameters 1\nLength: 237, dtype: int64"
}
],
"prompt_number": 84
},
{
"cell_type": "code",
"collapsed": false,
"input": "# number of contracts per 1st-level category\npd.DataFrame(df.category1.value_counts())",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>0</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>management and business professionals and administrative services</th>\n <td> 116241</td>\n </tr>\n <tr>\n <th>commercial and military and private vehicles and their accessories and components</th>\n <td> 47048</td>\n </tr>\n <tr>\n <th>information technology broadcasting and telecommunications</th>\n <td> 37848</td>\n </tr>\n <tr>\n <th>engineering and research and technology based services</th>\n <td> 33773</td>\n </tr>\n <tr>\n <th>healthcare services</th>\n <td> 26095</td>\n </tr>\n <tr>\n <th>building and construction and maintenance services</th>\n <td> 19936</td>\n </tr>\n <tr>\n <th>transportation and storage and mail services</th>\n <td> 12095</td>\n </tr>\n <tr>\n <th>defence and law enforcement and security and safety equipment and supplies</th>\n <td> 11435</td>\n </tr>\n <tr>\n <th>fuels and fuel additives and lubricants and anti corrosive materials</th>\n <td> 9920</td>\n </tr>\n <tr>\n <th>politics and civic affairs services</th>\n <td> 9181</td>\n </tr>\n <tr>\n <th>laboratory and measuring and observing and testing equipment</th>\n <td> 9121</td>\n </tr>\n <tr>\n <th>editorial and design and graphic and fine art services</th>\n <td> 7949</td>\n </tr>\n <tr>\n <th>public utilities and public sector related services</th>\n <td> 7860</td>\n </tr>\n <tr>\n <th>travel and food and lodging and entertainment services</th>\n <td> 7435</td>\n </tr>\n <tr>\n <th>furniture and furnishings</th>\n <td> 5292</td>\n </tr>\n <tr>\n <th>structures and building and construction and manufacturing components and supplies</th>\n <td> 4635</td>\n </tr>\n <tr>\n <th>financial and insurance services</th>\n <td> 4497</td>\n </tr>\n <tr>\n <th>office equipment and accessories and supplies</th>\n <td> 4273</td>\n </tr>\n <tr>\n <th>sports and recreational equipment and supplies and accessories</th>\n <td> 4182</td>\n </tr>\n <tr>\n <th>published products</th>\n <td> 3586</td>\n </tr>\n <tr>\n <th>power generation and distribution machinery and accessories</th>\n <td> 3472</td>\n </tr>\n <tr>\n <th>environmental services</th>\n <td> 3371</td>\n </tr>\n <tr>\n <th>manufacturing components and supplies</th>\n <td> 3069</td>\n </tr>\n <tr>\n <th>printing and photographic and audio and visual equipment and supplies</th>\n <td> 2603</td>\n </tr>\n <tr>\n <th>cleaning equipment and supplies</th>\n <td> 2599</td>\n </tr>\n <tr>\n <th>electrical systems and lighting and components and accessories and supplies</th>\n <td> 2224</td>\n </tr>\n <tr>\n <th>distribution and conditioning systems and equipment and components</th>\n <td> 2090</td>\n </tr>\n <tr>\n <th>material handling and conditioning and storage machinery and their accessories and supplies</th>\n <td> 2013</td>\n </tr>\n <tr>\n <th>national defence and public order and security and safety services</th>\n <td> 1997</td>\n </tr>\n <tr>\n <th>electronic components and supplies</th>\n <td> 1862</td>\n </tr>\n <tr>\n <th>industrial cleaning services</th>\n <td> 1754</td>\n </tr>\n <tr>\n <th>industrial production and manufacturing services</th>\n <td> 1725</td>\n </tr>\n <tr>\n <th>paper materials and products</th>\n <td> 1706</td>\n </tr>\n <tr>\n <th>apparel and luggage and personal care products</th>\n <td> 1647</td>\n </tr>\n <tr>\n <th>farming and fishing and forestry and wildlife contracting services</th>\n <td> 1537</td>\n </tr>\n <tr>\n <th>organisations and clubs</th>\n <td> 1014</td>\n </tr>\n <tr>\n <th>chemicals including bio chemicals and gas materials</th>\n <td> 909</td>\n </tr>\n <tr>\n <th>industrial manufacturing and processing machinery and accessories</th>\n <td> 857</td>\n </tr>\n <tr>\n <th>musical instruments and games and toys and arts and crafts and educational equipment and materials and accessories and supplies</th>\n <td> 784</td>\n </tr>\n <tr>\n <th>domestic appliances and supplies and consumer electronic products</th>\n <td> 761</td>\n </tr>\n <tr>\n <th>building and construction machinery and accessories</th>\n <td> 730</td>\n </tr>\n <tr>\n <th>mineral and textile and inedible plant and animal materials</th>\n <td> 494</td>\n </tr>\n <tr>\n <th>live plant and animal material and accessories and supplies</th>\n <td> 396</td>\n </tr>\n <tr>\n <th>personal and domestic services</th>\n <td> 124</td>\n </tr>\n <tr>\n <th>mining and oil and gas services</th>\n <td> 85</td>\n </tr>\n <tr>\n <th>farming and fishing and forestry and wildlife machinery and accessories</th>\n <td> 72</td>\n </tr>\n <tr>\n <th>mining and well drilling machinery and accessories</th>\n <td> 58</td>\n </tr>\n <tr>\n <th>resin and rosin and rubber and foam and film and elastomeric materials</th>\n <td> 46</td>\n </tr>\n <tr>\n <th>timepieces and jewellery and gemstone products</th>\n <td> 31</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": " 0\nmanagement and business professionals and administrative services 116241\ncommercial and military and private vehicles and their accessories and components 47048\ninformation technology broadcasting and telecommunications 37848\nengineering and research and technology based services 33773\nhealthcare services 26095\nbuilding and construction and maintenance services 19936\ntransportation and storage and mail services 12095\ndefence and law enforcement and security and safety equipment and supplies 11435\nfuels and fuel additives and lubricants and anti corrosive materials 9920\npolitics and civic affairs services 9181\nlaboratory and measuring and observing and testing equipment 9121\neditorial and design and graphic and fine art services 7949\npublic utilities and public sector related services 7860\ntravel and food and lodging and entertainment services 7435\nfurniture and furnishings 5292\nstructures and building and construction and manufacturing components and supplies 4635\nfinancial and insurance services 4497\noffice equipment and accessories and supplies 4273\nsports and recreational equipment and supplies and accessories 4182\npublished products 3586\npower generation and distribution machinery and accessories 3472\nenvironmental services 3371\nmanufacturing components and supplies 3069\nprinting and photographic and audio and visual equipment and supplies 2603\ncleaning equipment and supplies 2599\nelectrical systems and lighting and components and accessories and supplies 2224\ndistribution and conditioning systems and equipment and components 2090\nmaterial handling and conditioning and storage machinery and their accessories and supplies 2013\nnational defence and public order and security and safety services 1997\nelectronic components and supplies 1862\nindustrial cleaning services 1754\nindustrial production and manufacturing services 1725\npaper materials and products 1706\napparel and luggage and personal care products 1647\nfarming and fishing and forestry and wildlife contracting services 1537\norganisations and clubs 1014\nchemicals including bio chemicals and gas materials 909\nindustrial manufacturing and processing machinery and accessories 857\nmusical instruments and games and toys and arts and crafts and educational equipment and materials and accessories and supplies 784\ndomestic appliances and supplies and consumer electronic products 761\nbuilding and construction machinery and accessories 730\nmineral and textile and inedible plant and animal materials 494\nlive plant and animal material and accessories and supplies 396\npersonal and domestic services 124\nmining and oil and gas services 85\nfarming and fishing and forestry and wildlife machinery and accessories 72\nmining and well drilling machinery and accessories 58\nresin and rosin and rubber and foam and film and elastomeric materials 46\ntimepieces and jewellery and gemstone products 31"
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": "# most lucrative categories\npd.DataFrame(categories.value.sum()).sort('value', ascending=False)",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>value</th>\n </tr>\n <tr>\n <th>category1</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>management and business professionals and administrative services</th>\n <td> 6.991967e+10</td>\n </tr>\n <tr>\n <th>commercial and military and private vehicles and their accessories and components</th>\n <td> 4.966288e+10</td>\n </tr>\n <tr>\n <th>healthcare services</th>\n <td> 2.230805e+10</td>\n </tr>\n <tr>\n <th>information technology broadcasting and telecommunications</th>\n <td> 2.214682e+10</td>\n </tr>\n <tr>\n <th>building and construction and maintenance services</th>\n <td> 1.968558e+10</td>\n </tr>\n <tr>\n <th>politics and civic affairs services</th>\n <td> 1.803239e+10</td>\n </tr>\n <tr>\n <th>engineering and research and technology based services</th>\n <td> 1.649026e+10</td>\n </tr>\n <tr>\n <th>defence and law enforcement and security and safety equipment and supplies</th>\n <td> 8.128211e+09</td>\n </tr>\n <tr>\n <th>transportation and storage and mail services</th>\n <td> 6.773829e+09</td>\n </tr>\n <tr>\n <th>structures and building and construction and manufacturing components and supplies</th>\n <td> 6.368615e+09</td>\n </tr>\n <tr>\n <th>public utilities and public sector related services</th>\n <td> 5.318017e+09</td>\n </tr>\n <tr>\n <th>personal and domestic services</th>\n <td> 4.539912e+09</td>\n </tr>\n <tr>\n <th>fuels and fuel additives and lubricants and anti corrosive materials</th>\n <td> 3.542001e+09</td>\n </tr>\n <tr>\n <th>travel and food and lodging and entertainment services</th>\n <td> 2.701436e+09</td>\n </tr>\n <tr>\n <th>financial and insurance services</th>\n <td> 1.903810e+09</td>\n </tr>\n <tr>\n <th>national defence and public order and security and safety services</th>\n <td> 1.488365e+09</td>\n </tr>\n <tr>\n <th>editorial and design and graphic and fine art services</th>\n <td> 1.448733e+09</td>\n </tr>\n <tr>\n <th>environmental services</th>\n <td> 1.243290e+09</td>\n </tr>\n <tr>\n <th>laboratory and measuring and observing and testing equipment</th>\n <td> 1.205621e+09</td>\n </tr>\n <tr>\n <th>NA</th>\n <td> 1.140023e+09</td>\n </tr>\n <tr>\n <th>sports and recreational equipment and supplies and accessories</th>\n <td> 9.713063e+08</td>\n </tr>\n <tr>\n <th>industrial cleaning services</th>\n <td> 9.465224e+08</td>\n </tr>\n <tr>\n <th>power generation and distribution machinery and accessories</th>\n <td> 8.919031e+08</td>\n </tr>\n <tr>\n <th>chemicals including bio chemicals and gas materials</th>\n <td> 8.606654e+08</td>\n </tr>\n <tr>\n <th>apparel and luggage and personal care products</th>\n <td> 7.477061e+08</td>\n </tr>\n <tr>\n <th>office equipment and accessories and supplies</th>\n <td> 6.312550e+08</td>\n </tr>\n <tr>\n <th>industrial production and manufacturing services</th>\n <td> 4.993701e+08</td>\n </tr>\n <tr>\n <th>electronic components and supplies</th>\n <td> 4.941224e+08</td>\n </tr>\n <tr>\n <th>farming and fishing and forestry and wildlife contracting services</th>\n <td> 4.879500e+08</td>\n </tr>\n <tr>\n <th>published products</th>\n <td> 4.847072e+08</td>\n </tr>\n <tr>\n <th>furniture and furnishings</th>\n <td> 4.466695e+08</td>\n </tr>\n <tr>\n <th>electrical systems and lighting and components and accessories and supplies</th>\n <td> 4.331836e+08</td>\n </tr>\n <tr>\n <th>cleaning equipment and supplies</th>\n <td> 4.085219e+08</td>\n </tr>\n <tr>\n <th>industrial manufacturing and processing machinery and accessories</th>\n <td> 3.420839e+08</td>\n </tr>\n <tr>\n <th>manufacturing components and supplies</th>\n <td> 3.400237e+08</td>\n </tr>\n <tr>\n <th>material handling and conditioning and storage machinery and their accessories and supplies</th>\n <td> 2.986278e+08</td>\n </tr>\n <tr>\n <th>paper materials and products</th>\n <td> 2.950609e+08</td>\n </tr>\n <tr>\n <th>musical instruments and games and toys and arts and crafts and educational equipment and materials and accessories and supplies</th>\n <td> 2.364440e+08</td>\n </tr>\n <tr>\n <th>mineral and textile and inedible plant and animal materials</th>\n <td> 2.350315e+08</td>\n </tr>\n <tr>\n <th>printing and photographic and audio and visual equipment and supplies</th>\n <td> 2.321534e+08</td>\n </tr>\n <tr>\n <th>building and construction machinery and accessories</th>\n <td> 2.175641e+08</td>\n </tr>\n <tr>\n <th>education and training services</th>\n <td> 1.989970e+08</td>\n </tr>\n <tr>\n <th>domestic appliances and supplies and consumer electronic products</th>\n <td> 1.709466e+08</td>\n </tr>\n <tr>\n <th>organisations and clubs</th>\n <td> 1.552538e+08</td>\n </tr>\n <tr>\n <th>distribution and conditioning systems and equipment and components</th>\n <td> 1.473715e+08</td>\n </tr>\n <tr>\n <th>live plant and animal material and accessories and supplies</th>\n <td> 4.371272e+07</td>\n </tr>\n <tr>\n <th>food and beverage products</th>\n <td> 2.135707e+07</td>\n </tr>\n <tr>\n <th>farming and fishing and forestry and wildlife machinery and accessories</th>\n <td> 1.367692e+07</td>\n </tr>\n <tr>\n <th>mining and oil and gas services</th>\n <td> 1.175172e+07</td>\n </tr>\n <tr>\n <th>mining and well drilling machinery and accessories</th>\n <td> 9.947219e+06</td>\n </tr>\n <tr>\n <th>tools and general machinery</th>\n <td> 6.386952e+06</td>\n </tr>\n <tr>\n <th>engineering and research and technology based services (or) information technology broadcasting and telecommunications</th>\n <td> 5.182508e+06</td>\n </tr>\n <tr>\n <th>resin and rosin and rubber and foam and film and elastomeric materials</th>\n <td> 2.695752e+06</td>\n </tr>\n <tr>\n <th>medical equipment and accessories and supplies</th>\n <td> 2.374001e+06</td>\n </tr>\n <tr>\n <th>furnture and furnishings</th>\n <td> 1.889465e+06</td>\n </tr>\n <tr>\n <th>management and business professionals and administrative services (or) editorial and design and graphic and fine art services</th>\n <td> 1.302410e+06</td>\n </tr>\n <tr>\n <th>defence and law enforcement and security and safety equipment and supplies (or) information technology broadcasting and telecommunications</th>\n <td> 8.451762e+05</td>\n </tr>\n <tr>\n <th>travel and food and lodging and entertainment services (or) management and business professionals and administrative services</th>\n <td> 6.674483e+05</td>\n </tr>\n <tr>\n <th>timepieces and jewellery and gemstone products</th>\n <td> 5.793220e+05</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 54,
"text": " value\ncategory1 \nmanagement and business professionals and administrative services 6.991967e+10\ncommercial and military and private vehicles and their accessories and components 4.966288e+10\nhealthcare services 2.230805e+10\ninformation technology broadcasting and telecommunications 2.214682e+10\nbuilding and construction and maintenance services 1.968558e+10\npolitics and civic affairs services 1.803239e+10\nengineering and research and technology based services 1.649026e+10\ndefence and law enforcement and security and safety equipment and supplies 8.128211e+09\ntransportation and storage and mail services 6.773829e+09\nstructures and building and construction and manufacturing components and supplies 6.368615e+09\npublic utilities and public sector related services 5.318017e+09\npersonal and domestic services 4.539912e+09\nfuels and fuel additives and lubricants and anti corrosive materials 3.542001e+09\ntravel and food and lodging and entertainment services 2.701436e+09\nfinancial and insurance services 1.903810e+09\nnational defence and public order and security and safety services 1.488365e+09\neditorial and design and graphic and fine art services 1.448733e+09\nenvironmental services 1.243290e+09\nlaboratory and measuring and observing and testing equipment 1.205621e+09\nNA 1.140023e+09\nsports and recreational equipment and supplies and accessories 9.713063e+08\nindustrial cleaning services 9.465224e+08\npower generation and distribution machinery and accessories 8.919031e+08\nchemicals including bio chemicals and gas materials 8.606654e+08\napparel and luggage and personal care products 7.477061e+08\noffice equipment and accessories and supplies 6.312550e+08\nindustrial production and manufacturing services 4.993701e+08\nelectronic components and supplies 4.941224e+08\nfarming and fishing and forestry and wildlife contracting services 4.879500e+08\npublished products 4.847072e+08\nfurniture and furnishings 4.466695e+08\nelectrical systems and lighting and components and accessories and supplies 4.331836e+08\ncleaning equipment and supplies 4.085219e+08\nindustrial manufacturing and processing machinery and accessories 3.420839e+08\nmanufacturing components and supplies 3.400237e+08\nmaterial handling and conditioning and storage machinery and their accessories and supplies 2.986278e+08\npaper materials and products 2.950609e+08\nmusical instruments and games and toys and arts and crafts and educational equipment and materials and accessories and supplies 2.364440e+08\nmineral and textile and inedible plant and animal materials 2.350315e+08\nprinting and photographic and audio and visual equipment and supplies 2.321534e+08\nbuilding and construction machinery and accessories 2.175641e+08\neducation and training services 1.989970e+08\ndomestic appliances and supplies and consumer electronic products 1.709466e+08\norganisations and clubs 1.552538e+08\ndistribution and conditioning systems and equipment and components 1.473715e+08\nlive plant and animal material and accessories and supplies 4.371272e+07\nfood and beverage products 2.135707e+07\nfarming and fishing and forestry and wildlife machinery and accessories 1.367692e+07\nmining and oil and gas services 1.175172e+07\nmining and well drilling machinery and accessories 9.947219e+06\ntools and general machinery 6.386952e+06\nengineering and research and technology based services (or) information technology broadcasting and telecommunications 5.182508e+06\nresin and rosin and rubber and foam and film and elastomeric materials 2.695752e+06\nmedical equipment and accessories and supplies 2.374001e+06\nfurnture and furnishings 1.889465e+06\nmanagement and business professionals and administrative services (or) editorial and design and graphic and fine art services 1.302410e+06\ndefence and law enforcement and security and safety equipment and supplies (or) information technology broadcasting and telecommunications 8.451762e+05\ntravel and food and lodging and entertainment services (or) management and business professionals and administrative services 6.674483e+05\ntimepieces and jewellery and gemstone products 5.793220e+05"
}
],
"prompt_number": 54
},
{
"cell_type": "code",
"collapsed": false,
"input": "# highest avg value category\npd.DataFrame(categories.value.mean()).sort('value', ascending=False)",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>value</th>\n </tr>\n <tr>\n <th>category1</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>personal and domestic services</th>\n <td> 36612196.650484</td>\n </tr>\n <tr>\n <th>politics and civic affairs services</th>\n <td> 1919769.410217</td>\n </tr>\n <tr>\n <th>structures and building and construction and manufacturing components and supplies</th>\n <td> 1364605.636540</td>\n </tr>\n <tr>\n <th>commercial and military and private vehicles and their accessories and components</th>\n <td> 1021218.465833</td>\n </tr>\n <tr>\n <th>building and construction and maintenance services</th>\n <td> 977971.225049</td>\n </tr>\n <tr>\n <th>chemicals including bio chemicals and gas materials</th>\n <td> 946826.639219</td>\n </tr>\n <tr>\n <th>healthcare services</th>\n <td> 841115.099742</td>\n </tr>\n <tr>\n <th>national defence and public order and security and safety services</th>\n <td> 704718.122320</td>\n </tr>\n <tr>\n <th>defence and law enforcement and security and safety equipment and supplies</th>\n <td> 664123.752707</td>\n </tr>\n <tr>\n <th>public utilities and public sector related services</th>\n <td> 662021.230049</td>\n </tr>\n <tr>\n <th>management and business professionals and administrative services</th>\n <td> 585092.029068</td>\n </tr>\n <tr>\n <th>information technology broadcasting and telecommunications</th>\n <td> 573751.779931</td>\n </tr>\n <tr>\n <th>transportation and storage and mail services</th>\n <td> 530905.967765</td>\n </tr>\n <tr>\n <th>industrial cleaning services</th>\n <td> 525262.171077</td>\n </tr>\n <tr>\n <th>engineering and research and technology based services</th>\n <td> 474007.991727</td>\n </tr>\n <tr>\n <th>apparel and luggage and personal care products</th>\n <td> 397927.684923</td>\n </tr>\n <tr>\n <th>mineral and textile and inedible plant and animal materials</th>\n <td> 376050.377952</td>\n </tr>\n <tr>\n <th>fuels and fuel additives and lubricants and anti corrosive materials</th>\n <td> 356158.939172</td>\n </tr>\n <tr>\n <th>travel and food and lodging and entertainment services</th>\n <td> 347496.213396</td>\n </tr>\n <tr>\n <th>environmental services</th>\n <td> 347287.597369</td>\n </tr>\n <tr>\n <th>industrial manufacturing and processing machinery and accessories</th>\n <td> 326104.734938</td>\n </tr>\n <tr>\n <th>farming and fishing and forestry and wildlife contracting services</th>\n <td> 317469.064574</td>\n </tr>\n <tr>\n <th>financial and insurance services</th>\n <td> 296867.344068</td>\n </tr>\n <tr>\n <th>engineering and research and technology based services (or) information technology broadcasting and telecommunications</th>\n <td> 287917.131111</td>\n </tr>\n <tr>\n <th>building and construction machinery and accessories</th>\n <td> 287783.255132</td>\n </tr>\n <tr>\n <th>industrial production and manufacturing services</th>\n <td> 282449.158009</td>\n </tr>\n <tr>\n <th>power generation and distribution machinery and accessories</th>\n <td> 253814.205879</td>\n </tr>\n <tr>\n <th>sports and recreational equipment and supplies and accessories</th>\n <td> 230604.526622</td>\n </tr>\n <tr>\n <th>electronic components and supplies</th>\n <td> 201600.336030</td>\n </tr>\n <tr>\n <th>musical instruments and games and toys and arts and crafts and educational equipment and materials and accessories and supplies</th>\n <td> 198359.065092</td>\n </tr>\n <tr>\n <th>domestic appliances and supplies and consumer electronic products</th>\n <td> 195591.073158</td>\n </tr>\n <tr>\n <th>NA</th>\n <td> 188433.561481</td>\n </tr>\n <tr>\n <th>editorial and design and graphic and fine art services</th>\n <td> 171976.813424</td>\n </tr>\n <tr>\n <th>mining and well drilling machinery and accessories</th>\n <td> 171503.775172</td>\n </tr>\n <tr>\n <th>electrical systems and lighting and components and accessories and supplies</th>\n <td> 165463.558147</td>\n </tr>\n <tr>\n <th>paper materials and products</th>\n <td> 158379.455883</td>\n </tr>\n <tr>\n <th>cleaning equipment and supplies</th>\n <td> 157184.265687</td>\n </tr>\n <tr>\n <th>organisations and clubs</th>\n <td> 153110.271903</td>\n </tr>\n <tr>\n <th>education and training services</th>\n <td> 145678.655944</td>\n </tr>\n <tr>\n <th>office equipment and accessories and supplies</th>\n <td> 145584.647205</td>\n </tr>\n <tr>\n <th>material handling and conditioning and storage machinery and their accessories and supplies</th>\n <td> 143709.249615</td>\n </tr>\n <tr>\n <th>mining and oil and gas services</th>\n <td> 138255.493294</td>\n </tr>\n <tr>\n <th>published products</th>\n <td> 132942.184635</td>\n </tr>\n <tr>\n <th>laboratory and measuring and observing and testing equipment</th>\n <td> 132180.798217</td>\n </tr>\n <tr>\n <th>manufacturing components and supplies</th>\n <td> 108877.254640</td>\n </tr>\n <tr>\n <th>live plant and animal material and accessories and supplies</th>\n <td> 102853.456306</td>\n </tr>\n <tr>\n <th>farming and fishing and forestry and wildlife machinery and accessories</th>\n <td> 102833.983383</td>\n </tr>\n <tr>\n <th>tools and general machinery</th>\n <td> 99796.126875</td>\n </tr>\n <tr>\n <th>printing and photographic and audio and visual equipment and supplies</th>\n <td> 88608.162931</td>\n </tr>\n <tr>\n <th>furniture and furnishings</th>\n <td> 79990.958757</td>\n </tr>\n <tr>\n <th>distribution and conditioning systems and equipment and components</th>\n <td> 68672.661799</td>\n </tr>\n <tr>\n <th>furnture and furnishings</th>\n <td> 60950.484194</td>\n </tr>\n <tr>\n <th>resin and rosin and rubber and foam and film and elastomeric materials</th>\n <td> 58603.299565</td>\n </tr>\n <tr>\n <th>defence and law enforcement and security and safety equipment and supplies (or) information technology broadcasting and telecommunications</th>\n <td> 49716.244706</td>\n </tr>\n <tr>\n <th>medical equipment and accessories and supplies</th>\n <td> 47480.018000</td>\n </tr>\n <tr>\n <th>food and beverage products</th>\n <td> 41309.604023</td>\n </tr>\n <tr>\n <th>travel and food and lodging and entertainment services (or) management and business professionals and administrative services</th>\n <td> 31783.253333</td>\n </tr>\n <tr>\n <th>management and business professionals and administrative services (or) editorial and design and graphic and fine art services</th>\n <td> 28942.441333</td>\n </tr>\n <tr>\n <th>timepieces and jewellery and gemstone products</th>\n <td> 18687.807097</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 55,
"text": " value\ncategory1 \npersonal and domestic services 36612196.650484\npolitics and civic affairs services 1919769.410217\nstructures and building and construction and manufacturing components and supplies 1364605.636540\ncommercial and military and private vehicles and their accessories and components 1021218.465833\nbuilding and construction and maintenance services 977971.225049\nchemicals including bio chemicals and gas materials 946826.639219\nhealthcare services 841115.099742\nnational defence and public order and security and safety services 704718.122320\ndefence and law enforcement and security and safety equipment and supplies 664123.752707\npublic utilities and public sector related services 662021.230049\nmanagement and business professionals and administrative services 585092.029068\ninformation technology broadcasting and telecommunications 573751.779931\ntransportation and storage and mail services 530905.967765\nindustrial cleaning services 525262.171077\nengineering and research and technology based services 474007.991727\napparel and luggage and personal care products 397927.684923\nmineral and textile and inedible plant and animal materials 376050.377952\nfuels and fuel additives and lubricants and anti corrosive materials 356158.939172\ntravel and food and lodging and entertainment services 347496.213396\nenvironmental services 347287.597369\nindustrial manufacturing and processing machinery and accessories 326104.734938\nfarming and fishing and forestry and wildlife contracting services 317469.064574\nfinancial and insurance services 296867.344068\nengineering and research and technology based services (or) information technology broadcasting and telecommunications 287917.131111\nbuilding and construction machinery and accessories 287783.255132\nindustrial production and manufacturing services 282449.158009\npower generation and distribution machinery and accessories 253814.205879\nsports and recreational equipment and supplies and accessories 230604.526622\nelectronic components and supplies 201600.336030\nmusical instruments and games and toys and arts and crafts and educational equipment and materials and accessories and supplies 198359.065092\ndomestic appliances and supplies and consumer electronic products 195591.073158\nNA 188433.561481\neditorial and design and graphic and fine art services 171976.813424\nmining and well drilling machinery and accessories 171503.775172\nelectrical systems and lighting and components and accessories and supplies 165463.558147\npaper materials and products 158379.455883\ncleaning equipment and supplies 157184.265687\norganisations and clubs 153110.271903\neducation and training services 145678.655944\noffice equipment and accessories and supplies 145584.647205\nmaterial handling and conditioning and storage machinery and their accessories and supplies 143709.249615\nmining and oil and gas services 138255.493294\npublished products 132942.184635\nlaboratory and measuring and observing and testing equipment 132180.798217\nmanufacturing components and supplies 108877.254640\nlive plant and animal material and accessories and supplies 102853.456306\nfarming and fishing and forestry and wildlife machinery and accessories 102833.983383\ntools and general machinery 99796.126875\nprinting and photographic and audio and visual equipment and supplies 88608.162931\nfurniture and furnishings 79990.958757\ndistribution and conditioning systems and equipment and components 68672.661799\nfurnture and furnishings 60950.484194\nresin and rosin and rubber and foam and film and elastomeric materials 58603.299565\ndefence and law enforcement and security and safety equipment and supplies (or) information technology broadcasting and telecommunications 49716.244706\nmedical equipment and accessories and supplies 47480.018000\nfood and beverage products 41309.604023\ntravel and food and lodging and entertainment services (or) management and business professionals and administrative services 31783.253333\nmanagement and business professionals and administrative services (or) editorial and design and graphic and fine art services 28942.441333\ntimepieces and jewellery and gemstone products 18687.807097"
}
],
"prompt_number": 55
},
{
"cell_type": "code",
"collapsed": false,
"input": "# most lucrative ABN-exempt contracts\npd.DataFrame(df[df.abn == '0']).sort('value', ascending=False)[:40]",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Column</th>\n <th>column</th>\n <th>agency</th>\n <th>c_id</th>\n <th>pub_date</th>\n <th>value</th>\n <th>category</th>\n <th>supplier</th>\n <th>abn</th>\n <th>sup_country</th>\n <th>category1</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>45999 </th>\n <td> 45999</td>\n <td> 46000</td>\n <td> Department of Defence</td>\n <td> CN1780-A1</td>\n <td> 2007-05-08T00:00:00Z</td>\n <td> 2.980387e+09</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>259049</th>\n <td> 259049</td>\n <td> 259050</td>\n <td> Defence Materiel Organisation</td>\n <td> CN406595</td>\n <td> 2011-07-07T00:00:00Z</td>\n <td> 1.913566e+09</td>\n <td> military rotary wing aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>31411 </th>\n <td> 31411</td>\n <td> 31412</td>\n <td> Department of Defence</td>\n <td> CN1696-A1</td>\n <td> 2006-05-31T00:00:00Z</td>\n <td> 1.685729e+09</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>206392</th>\n <td> 206392</td>\n <td> 206393</td>\n <td> Commonwealth of Australia</td>\n <td> CN376739</td>\n <td> 2011-04-19T00:00:00Z</td>\n <td> 1.031550e+09</td>\n <td> travel facilitation</td>\n <td> domestic air travel panel providers</td>\n <td> 0</td>\n <td> Australia</td>\n <td> travel and food and lodging and entertainment ...</td>\n </tr>\n <tr>\n <th>109865</th>\n <td> 109865</td>\n <td> 109866</td>\n <td> Defence Materiel Organisation</td>\n <td> CN618341</td>\n <td> 2012-06-19T00:00:00Z</td>\n <td> 8.824029e+08</td>\n <td> military fixed wing aircraft</td>\n <td> government of the united states of america</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>34960 </th>\n <td> 34960</td>\n <td> 34961</td>\n <td> Department of Defence</td>\n <td> CN14694</td>\n <td> 2004-12-22T00:00:00Z</td>\n <td> 7.168646e+08</td>\n <td> commercial and military and private vehicles a...</td>\n <td> eads construcciones aeronauticas sa</td>\n <td> 0</td>\n <td> Spain</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>314898</th>\n <td> 314898</td>\n <td> 314899</td>\n <td> Defence Materiel Organisation</td>\n <td> CN82745</td>\n <td> 2008-05-13T00:00:00Z</td>\n <td> 6.911190e+08</td>\n <td> satellites</td>\n <td> wells fargo bank na</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>29956 </th>\n <td> 29956</td>\n <td> 29957</td>\n <td> Department of Defence</td>\n <td> CN1698</td>\n <td> 2006-08-07T00:00:00Z</td>\n <td> 5.797748e+08</td>\n <td> management and business professionals and admi...</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>34959 </th>\n <td> 34959</td>\n <td> 34960</td>\n <td> Department of Defence</td>\n <td> CN14686</td>\n <td> 2004-12-22T00:00:00Z</td>\n <td> 5.230733e+08</td>\n <td> commercial and military and private vehicles a...</td>\n <td> eads construcciones aeronauticas sa</td>\n <td> 0</td>\n <td> Spain</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>391420</th>\n <td> 391420</td>\n <td> 391421</td>\n <td> Defence Materiel Organisation</td>\n <td> CN270628</td>\n <td> 2010-03-30T00:00:00Z</td>\n <td> 5.072982e+08</td>\n <td> military rotary wing aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>206393</th>\n <td> 206393</td>\n <td> 206394</td>\n <td> Commonwealth of Australia</td>\n <td> CN376740</td>\n <td> 2011-04-19T00:00:00Z</td>\n <td> 4.876478e+08</td>\n <td> travel facilitation</td>\n <td> international air travel panel providers</td>\n <td> 0</td>\n <td> Australia</td>\n <td> travel and food and lodging and entertainment ...</td>\n </tr>\n <tr>\n <th>380872</th>\n <td> 380872</td>\n <td> 380873</td>\n <td> Defence Materiel Organisation</td>\n <td> CN257958</td>\n <td> 2010-02-02T00:00:00Z</td>\n <td> 4.599108e+08</td>\n <td> management advisory services</td>\n <td> the boeing company</td>\n <td> 0</td>\n <td> United States</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>34736 </th>\n <td> 34736</td>\n <td> 34737</td>\n <td> Department of Defence</td>\n <td> CN1589</td>\n <td> 2004-07-21T00:00:00Z</td>\n <td> 3.823689e+08</td>\n <td> motor vehicles</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>371556</th>\n <td> 371556</td>\n <td> 371557</td>\n <td> Australian Federal Police</td>\n <td> CN340383</td>\n <td> 2010-10-19T00:00:00Z</td>\n <td> 3.695223e+08</td>\n <td> lease and rental of property or building</td>\n <td> bayernfonds opalus gmbh c trust company</td>\n <td> 0</td>\n <td> Australia</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>29955 </th>\n <td> 29955</td>\n <td> 29956</td>\n <td> Department of Defence</td>\n <td> CN1643</td>\n <td> 2006-04-05T00:00:00Z</td>\n <td> 3.540193e+08</td>\n <td> management and business professionals and admi...</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>72893 </th>\n <td> 72893</td>\n <td> 72894</td>\n <td> Defence Materiel Organisation</td>\n <td> CN42886</td>\n <td> 2007-10-31T00:00:00Z</td>\n <td> 3.518809e+08</td>\n <td> marine transport</td>\n <td> navantia sa</td>\n <td> 0</td>\n <td> Spain</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>387586</th>\n <td> 387586</td>\n <td> 387587</td>\n <td> Defence Materiel Organisation</td>\n <td> CN279755</td>\n <td> 2010-04-20T00:00:00Z</td>\n <td> 3.490000e+08</td>\n <td> communications devices and accessories</td>\n <td> elbit systems</td>\n <td> 0</td>\n <td> Israel</td>\n <td> information technology broadcasting and teleco...</td>\n </tr>\n <tr>\n <th>233266</th>\n <td> 233266</td>\n <td> 233267</td>\n <td> Defence Materiel Organisation</td>\n <td> CN383371</td>\n <td> 2011-05-02T00:00:00Z</td>\n <td> 3.303031e+08</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>380874</th>\n <td> 380874</td>\n <td> 380875</td>\n <td> Defence Materiel Organisation</td>\n <td> CN257960</td>\n <td> 2010-02-02T00:00:00Z</td>\n <td> 2.723432e+08</td>\n <td> management advisory services</td>\n <td> the boeing company dba boeing</td>\n <td> 0</td>\n <td> United States</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>168800</th>\n <td> 168800</td>\n <td> 168801</td>\n <td> Defence Materiel Organisation</td>\n <td> CN195793</td>\n <td> 2009-06-23T00:00:00Z</td>\n <td> 2.622608e+08</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>18218 </th>\n <td> 18218</td>\n <td> 18219</td>\n <td> Department of Foreign Affairs and Trade</td>\n <td> CN981661</td>\n <td> 2012-10-23T00:00:00Z</td>\n <td> 2.421454e+08</td>\n <td> building construction and support and maintena...</td>\n <td> pt leighton contractors indonesia pt total ban...</td>\n <td> 0</td>\n <td> Indonesia</td>\n <td> building and construction and maintenance serv...</td>\n </tr>\n <tr>\n <th>29531 </th>\n <td> 29531</td>\n <td> 29532</td>\n <td> Department of Defence</td>\n <td> CN22803</td>\n <td> 2006-04-05T00:00:00Z</td>\n <td> 2.383032e+08</td>\n <td> management and business professionals and admi...</td>\n <td> the boeing company</td>\n <td> 0</td>\n <td> United States</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>203034</th>\n <td> 203034</td>\n <td> 203035</td>\n <td> Defence Materiel Organisation</td>\n <td> CN250416</td>\n <td> 2009-12-22T00:00:00Z</td>\n <td> 2.366739e+08</td>\n <td> explosive materials</td>\n <td> naval sea systems command</td>\n <td> 0</td>\n <td> United States</td>\n <td> chemicals including bio chemicals and gas mate...</td>\n </tr>\n <tr>\n <th>88239 </th>\n <td> 88239</td>\n <td> 88240</td>\n <td> Defence Materiel Organisation</td>\n <td> CN464716</td>\n <td> 2012-02-14T00:00:00Z</td>\n <td> 2.302611e+08</td>\n <td> communications devices and accessories</td>\n <td> harris dba harris rf co</td>\n <td> 0</td>\n <td> United States</td>\n <td> information technology broadcasting and teleco...</td>\n </tr>\n <tr>\n <th>428834</th>\n <td> 428834</td>\n <td> 428835</td>\n <td> Defence Materiel Organisation</td>\n <td> CN327101</td>\n <td> 2010-08-31T00:00:00Z</td>\n <td> 2.302193e+08</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>37942 </th>\n <td> 37942</td>\n <td> 37943</td>\n <td> Department of Defence</td>\n <td> CN24517</td>\n <td> 2007-10-16T00:00:00Z</td>\n <td> 2.034674e+08</td>\n <td> defence and law enforcement and security and s...</td>\n <td> eurotorp</td>\n <td> 0</td>\n <td> France</td>\n <td> defence and law enforcement and security and s...</td>\n </tr>\n <tr>\n <th>232330</th>\n <td> 232330</td>\n <td> 232331</td>\n <td> Defence Materiel Organisation</td>\n <td> CN381182</td>\n <td> 2011-04-19T00:00:00Z</td>\n <td> 1.953989e+08</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>98596 </th>\n <td> 98596</td>\n <td> 98597</td>\n <td> Defence Materiel Organisation</td>\n <td> CN475134</td>\n <td> 2012-03-28T00:00:00Z</td>\n <td> 1.809803e+08</td>\n <td> aircraft</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>267951</th>\n <td> 267951</td>\n <td> 267952</td>\n <td> Defence Materiel Organisation</td>\n <td> CN430230</td>\n <td> 2011-09-16T00:00:00Z</td>\n <td> 1.625997e+08</td>\n <td> conventional war weapons</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> defence and law enforcement and security and s...</td>\n </tr>\n <tr>\n <th>163548</th>\n <td> 163548</td>\n <td> 163549</td>\n <td> Defence Materiel Organisation</td>\n <td> CN189572</td>\n <td> 2009-06-02T00:00:00Z</td>\n <td> 1.600732e+08</td>\n <td> satellites</td>\n <td> intelsat llc</td>\n <td> 0</td>\n <td> Bermuda</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>100827</th>\n <td> 100827</td>\n <td> 100828</td>\n <td> AusAid</td>\n <td> CN715412</td>\n <td> 2012-07-11T00:00:00Z</td>\n <td> 1.466172e+08</td>\n <td> comprehensive health services</td>\n <td> department of health png</td>\n <td> 0</td>\n <td> Papua New Guinea</td>\n <td> healthcare services</td>\n </tr>\n <tr>\n <th>84343 </th>\n <td> 84343</td>\n <td> 84344</td>\n <td> Defence Materiel Organisation</td>\n <td> CN463108</td>\n <td> 2012-02-08T00:00:00Z</td>\n <td> 1.436829e+08</td>\n <td> military watercraft</td>\n <td> navantia sa</td>\n <td> 0</td>\n <td> Spain</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>256884</th>\n <td> 256884</td>\n <td> 256885</td>\n <td> Defence Materiel Organisation</td>\n <td> CN411236</td>\n <td> 2011-07-20T00:00:00Z</td>\n <td> 1.392422e+08</td>\n <td> aircraft</td>\n <td> dmojsf official</td>\n <td> 0</td>\n <td> United States</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>192327</th>\n <td> 192327</td>\n <td> 192328</td>\n <td> Defence Materiel Organisation</td>\n <td> CN231622</td>\n <td> 2009-10-06T00:00:00Z</td>\n <td> 1.343249e+08</td>\n <td> gun systems</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> defence and law enforcement and security and s...</td>\n </tr>\n <tr>\n <th>371712</th>\n <td> 371712</td>\n <td> 371713</td>\n <td> Defence Materiel Organisation</td>\n <td> CN281876</td>\n <td> 2010-04-27T00:00:00Z</td>\n <td> 1.306368e+08</td>\n <td> satellites</td>\n <td> intelsat llc</td>\n <td> 0</td>\n <td> Bermuda</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>397907</th>\n <td> 397907</td>\n <td> 397908</td>\n <td> Defence Materiel Organisation</td>\n <td> CN288051</td>\n <td> 2010-05-19T00:00:00Z</td>\n <td> 1.271680e+08</td>\n <td> communications devices and accessories</td>\n <td> harris dba harris rf co</td>\n <td> 0</td>\n <td> United States</td>\n <td> information technology broadcasting and teleco...</td>\n </tr>\n <tr>\n <th>440372</th>\n <td> 440372</td>\n <td> 440373</td>\n <td> AusAid</td>\n <td> CN349009-A4</td>\n <td> 2010-11-29T00:00:00Z</td>\n <td> 1.119888e+08</td>\n <td> education and training services</td>\n <td> charles kendall partners</td>\n <td> 0</td>\n <td> United Kingdom</td>\n <td> healthcare services</td>\n </tr>\n <tr>\n <th>36228 </th>\n <td> 36228</td>\n <td> 36229</td>\n <td> Department of Defence</td>\n <td> CN1680</td>\n <td> 2005-11-10T00:00:00Z</td>\n <td> 1.049319e+08</td>\n <td> management and business professionals and admi...</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> management and business professionals and admi...</td>\n </tr>\n <tr>\n <th>234683</th>\n <td> 234683</td>\n <td> 234684</td>\n <td> Defence Materiel Organisation</td>\n <td> CN383369-A1</td>\n <td> 2011-05-02T00:00:00Z</td>\n <td> 1.000526e+08</td>\n <td> marine transport</td>\n <td> ministry of defence</td>\n <td> 0</td>\n <td> United Kingdom</td>\n <td> commercial and military and private vehicles a...</td>\n </tr>\n <tr>\n <th>274530</th>\n <td> 274530</td>\n <td> 274531</td>\n <td> Defence Materiel Organisation</td>\n <td> CN438950</td>\n <td> 2011-10-18T00:00:00Z</td>\n <td> 9.958822e+07</td>\n <td> missiles</td>\n <td> fms account</td>\n <td> 0</td>\n <td> United States</td>\n <td> defence and law enforcement and security and s...</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 88,
"text": " Column column agency c_id \\\n45999 45999 46000 Department of Defence CN1780-A1 \n259049 259049 259050 Defence Materiel Organisation CN406595 \n31411 31411 31412 Department of Defence CN1696-A1 \n206392 206392 206393 Commonwealth of Australia CN376739 \n109865 109865 109866 Defence Materiel Organisation CN618341 \n34960 34960 34961 Department of Defence CN14694 \n314898 314898 314899 Defence Materiel Organisation CN82745 \n29956 29956 29957 Department of Defence CN1698 \n34959 34959 34960 Department of Defence CN14686 \n391420 391420 391421 Defence Materiel Organisation CN270628 \n206393 206393 206394 Commonwealth of Australia CN376740 \n380872 380872 380873 Defence Materiel Organisation CN257958 \n34736 34736 34737 Department of Defence CN1589 \n371556 371556 371557 Australian Federal Police CN340383 \n29955 29955 29956 Department of Defence CN1643 \n72893 72893 72894 Defence Materiel Organisation CN42886 \n387586 387586 387587 Defence Materiel Organisation CN279755 \n233266 233266 233267 Defence Materiel Organisation CN383371 \n380874 380874 380875 Defence Materiel Organisation CN257960 \n168800 168800 168801 Defence Materiel Organisation CN195793 \n18218 18218 18219 Department of Foreign Affairs and Trade CN981661 \n29531 29531 29532 Department of Defence CN22803 \n203034 203034 203035 Defence Materiel Organisation CN250416 \n88239 88239 88240 Defence Materiel Organisation CN464716 \n428834 428834 428835 Defence Materiel Organisation CN327101 \n37942 37942 37943 Department of Defence CN24517 \n232330 232330 232331 Defence Materiel Organisation CN381182 \n98596 98596 98597 Defence Materiel Organisation CN475134 \n267951 267951 267952 Defence Materiel Organisation CN430230 \n163548 163548 163549 Defence Materiel Organisation CN189572 \n100827 100827 100828 AusAid CN715412 \n84343 84343 84344 Defence Materiel Organisation CN463108 \n256884 256884 256885 Defence Materiel Organisation CN411236 \n192327 192327 192328 Defence Materiel Organisation CN231622 \n371712 371712 371713 Defence Materiel Organisation CN281876 \n397907 397907 397908 Defence Materiel Organisation CN288051 \n440372 440372 440373 AusAid CN349009-A4 \n36228 36228 36229 Department of Defence CN1680 \n234683 234683 234684 Defence Materiel Organisation CN383369-A1 \n274530 274530 274531 Defence Materiel Organisation CN438950 \n\n pub_date value \\\n45999 2007-05-08T00:00:00Z 2.980387e+09 \n259049 2011-07-07T00:00:00Z 1.913566e+09 \n31411 2006-05-31T00:00:00Z 1.685729e+09 \n206392 2011-04-19T00:00:00Z 1.031550e+09 \n109865 2012-06-19T00:00:00Z 8.824029e+08 \n34960 2004-12-22T00:00:00Z 7.168646e+08 \n314898 2008-05-13T00:00:00Z 6.911190e+08 \n29956 2006-08-07T00:00:00Z 5.797748e+08 \n34959 2004-12-22T00:00:00Z 5.230733e+08 \n391420 2010-03-30T00:00:00Z 5.072982e+08 \n206393 2011-04-19T00:00:00Z 4.876478e+08 \n380872 2010-02-02T00:00:00Z 4.599108e+08 \n34736 2004-07-21T00:00:00Z 3.823689e+08 \n371556 2010-10-19T00:00:00Z 3.695223e+08 \n29955 2006-04-05T00:00:00Z 3.540193e+08 \n72893 2007-10-31T00:00:00Z 3.518809e+08 \n387586 2010-04-20T00:00:00Z 3.490000e+08 \n233266 2011-05-02T00:00:00Z 3.303031e+08 \n380874 2010-02-02T00:00:00Z 2.723432e+08 \n168800 2009-06-23T00:00:00Z 2.622608e+08 \n18218 2012-10-23T00:00:00Z 2.421454e+08 \n29531 2006-04-05T00:00:00Z 2.383032e+08 \n203034 2009-12-22T00:00:00Z 2.366739e+08 \n88239 2012-02-14T00:00:00Z 2.302611e+08 \n428834 2010-08-31T00:00:00Z 2.302193e+08 \n37942 2007-10-16T00:00:00Z 2.034674e+08 \n232330 2011-04-19T00:00:00Z 1.953989e+08 \n98596 2012-03-28T00:00:00Z 1.809803e+08 \n267951 2011-09-16T00:00:00Z 1.625997e+08 \n163548 2009-06-02T00:00:00Z 1.600732e+08 \n100827 2012-07-11T00:00:00Z 1.466172e+08 \n84343 2012-02-08T00:00:00Z 1.436829e+08 \n256884 2011-07-20T00:00:00Z 1.392422e+08 \n192327 2009-10-06T00:00:00Z 1.343249e+08 \n371712 2010-04-27T00:00:00Z 1.306368e+08 \n397907 2010-05-19T00:00:00Z 1.271680e+08 \n440372 2010-11-29T00:00:00Z 1.119888e+08 \n36228 2005-11-10T00:00:00Z 1.049319e+08 \n234683 2011-05-02T00:00:00Z 1.000526e+08 \n274530 2011-10-18T00:00:00Z 9.958822e+07 \n\n category \\\n45999 aircraft \n259049 military rotary wing aircraft \n31411 aircraft \n206392 travel facilitation \n109865 military fixed wing aircraft \n34960 commercial and military and private vehicles a... \n314898 satellites \n29956 management and business professionals and admi... \n34959 commercial and military and private vehicles a... \n391420 military rotary wing aircraft \n206393 travel facilitation \n380872 management advisory services \n34736 motor vehicles \n371556 lease and rental of property or building \n29955 management and business professionals and admi... \n72893 marine transport \n387586 communications devices and accessories \n233266 aircraft \n380874 management advisory services \n168800 aircraft \n18218 building construction and support and maintena... \n29531 management and business professionals and admi... \n203034 explosive materials \n88239 communications devices and accessories \n428834 aircraft \n37942 defence and law enforcement and security and s... \n232330 aircraft \n98596 aircraft \n267951 conventional war weapons \n163548 satellites \n100827 comprehensive health services \n84343 military watercraft \n256884 aircraft \n192327 gun systems \n371712 satellites \n397907 communications devices and accessories \n440372 education and training services \n36228 management and business professionals and admi... \n234683 marine transport \n274530 missiles \n\n supplier abn \\\n45999 fms account 0 \n259049 fms account 0 \n31411 fms account 0 \n206392 domestic air travel panel providers 0 \n109865 government of the united states of america 0 \n34960 eads construcciones aeronauticas sa 0 \n314898 wells fargo bank na 0 \n29956 fms account 0 \n34959 eads construcciones aeronauticas sa 0 \n391420 fms account 0 \n206393 international air travel panel providers 0 \n380872 the boeing company 0 \n34736 fms account 0 \n371556 bayernfonds opalus gmbh c trust company 0 \n29955 fms account 0 \n72893 navantia sa 0 \n387586 elbit systems 0 \n233266 fms account 0 \n380874 the boeing company dba boeing 0 \n168800 fms account 0 \n18218 pt leighton contractors indonesia pt total ban... 0 \n29531 the boeing company 0 \n203034 naval sea systems command 0 \n88239 harris dba harris rf co 0 \n428834 fms account 0 \n37942 eurotorp 0 \n232330 fms account 0 \n98596 fms account 0 \n267951 fms account 0 \n163548 intelsat llc 0 \n100827 department of health png 0 \n84343 navantia sa 0 \n256884 dmojsf official 0 \n192327 fms account 0 \n371712 intelsat llc 0 \n397907 harris dba harris rf co 0 \n440372 charles kendall partners 0 \n36228 fms account 0 \n234683 ministry of defence 0 \n274530 fms account 0 \n\n sup_country category1 \n45999 United States commercial and military and private vehicles a... \n259049 United States commercial and military and private vehicles a... \n31411 United States commercial and military and private vehicles a... \n206392 Australia travel and food and lodging and entertainment ... \n109865 United States commercial and military and private vehicles a... \n34960 Spain commercial and military and private vehicles a... \n314898 United States commercial and military and private vehicles a... \n29956 United States management and business professionals and admi... \n34959 Spain commercial and military and private vehicles a... \n391420 United States commercial and military and private vehicles a... \n206393 Australia travel and food and lodging and entertainment ... \n380872 United States management and business professionals and admi... \n34736 United States commercial and military and private vehicles a... \n371556 Australia management and business professionals and admi... \n29955 United States management and business professionals and admi... \n72893 Spain commercial and military and private vehicles a... \n387586 Israel information technology broadcasting and teleco... \n233266 United States commercial and military and private vehicles a... \n380874 United States management and business professionals and admi... \n168800 United States commercial and military and private vehicles a... \n18218 Indonesia building and construction and maintenance serv... \n29531 United States management and business professionals and admi... \n203034 United States chemicals including bio chemicals and gas mate... \n88239 United States information technology broadcasting and teleco... \n428834 United States commercial and military and private vehicles a... \n37942 France defence and law enforcement and security and s... \n232330 United States commercial and military and private vehicles a... \n98596 United States commercial and military and private vehicles a... \n267951 United States defence and law enforcement and security and s... \n163548 Bermuda commercial and military and private vehicles a... \n100827 Papua New Guinea healthcare services \n84343 Spain commercial and military and private vehicles a... \n256884 United States commercial and military and private vehicles a... \n192327 United States defence and law enforcement and security and s... \n371712 Bermuda commercial and military and private vehicles a... \n397907 United States information technology broadcasting and teleco... \n440372 United Kingdom healthcare services \n36228 United States management and business professionals and admi... \n234683 United Kingdom commercial and military and private vehicles a... \n274530 United States defence and law enforcement and security and s... "
}
],
"prompt_number": 88
},
{
"cell_type": "code",
"collapsed": false,
"input": "# top 40 countries by total contract value\npd.DataFrame(countries.value.sum()).sort('value', ascending=False)[:40]",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>value</th>\n </tr>\n <tr>\n <th>sup_country</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Supplier Abn Exempt</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Branch</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Australia</th>\n <td> 2.464998e+11</td>\n </tr>\n <tr>\n <th>United States</th>\n <td> 2.083100e+10</td>\n </tr>\n <tr>\n <th>Spain</th>\n <td> 1.950985e+09</td>\n </tr>\n <tr>\n <th>United Kingdom</th>\n <td> 1.088247e+09</td>\n </tr>\n <tr>\n <th>Canada</th>\n <td> 7.439720e+08</td>\n </tr>\n <tr>\n <th>Israel</th>\n <td> 7.263255e+08</td>\n </tr>\n <tr>\n <th>France</th>\n <td> 3.619395e+08</td>\n </tr>\n <tr>\n <th>Bermuda</th>\n <td> 3.377060e+08</td>\n </tr>\n <tr>\n <th>Indonesia</th>\n <td> 3.190574e+08</td>\n </tr>\n <tr>\n <th>New Zealand</th>\n <td> 2.651269e+08</td>\n </tr>\n <tr>\n <th>Papua New Guinea</th>\n <td> 2.557179e+08</td>\n </tr>\n <tr>\n <th>United Arab Emirates</th>\n <td> 2.291999e+08</td>\n </tr>\n <tr>\n <th>Sweden</th>\n <td> 2.026358e+08</td>\n </tr>\n <tr>\n <th>Germany</th>\n <td> 2.009743e+08</td>\n </tr>\n <tr>\n <th>Switzerland</th>\n <td> 1.325965e+08</td>\n </tr>\n <tr>\n <th>Singapore</th>\n <td> 1.297435e+08</td>\n </tr>\n <tr>\n <th>Korea, Republic Of</th>\n <td> 1.090497e+08</td>\n </tr>\n <tr>\n <th>Belgium</th>\n <td> 1.021796e+08</td>\n </tr>\n <tr>\n <th>Norway</th>\n <td> 9.430831e+07</td>\n </tr>\n <tr>\n <th>Italy</th>\n <td> 9.402772e+07</td>\n </tr>\n <tr>\n <th>Netherlands</th>\n <td> 7.056990e+07</td>\n </tr>\n <tr>\n <th>Philippines</th>\n <td> 6.505171e+07</td>\n </tr>\n <tr>\n <th>Fiji</th>\n <td> 5.790167e+07</td>\n </tr>\n <tr>\n <th>China</th>\n <td> 4.502104e+07</td>\n </tr>\n <tr>\n <th>Austria</th>\n <td> 3.892078e+07</td>\n </tr>\n <tr>\n <th>Iraq</th>\n <td> 3.459977e+07</td>\n </tr>\n <tr>\n <th>Afghanistan</th>\n <td> 3.024604e+07</td>\n </tr>\n <tr>\n <th>Kenya</th>\n <td> 2.711251e+07</td>\n </tr>\n <tr>\n <th>Malaysia</th>\n <td> 2.665204e+07</td>\n </tr>\n <tr>\n <th>Ireland</th>\n <td> 2.538092e+07</td>\n </tr>\n <tr>\n <th>Viet Nam</th>\n <td> 2.198464e+07</td>\n </tr>\n <tr>\n <th>Solomon Islands</th>\n <td> 1.587068e+07</td>\n </tr>\n <tr>\n <th>Lao People's Democratic Republic</th>\n <td> 1.580249e+07</td>\n </tr>\n <tr>\n <th>Denmark</th>\n <td> 1.385259e+07</td>\n </tr>\n <tr>\n <th>Croatia</th>\n <td> 1.272834e+07</td>\n </tr>\n <tr>\n <th>Japan</th>\n <td> 1.270061e+07</td>\n </tr>\n <tr>\n <th>Thailand</th>\n <td> 1.116128e+07</td>\n </tr>\n <tr>\n <th>Hong Kong</th>\n <td> 1.091070e+07</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 97,
"text": " value\nsup_country \nSupplier Abn Exempt NaN\nBranch NaN\nAustralia 2.464998e+11\nUnited States 2.083100e+10\nSpain 1.950985e+09\nUnited Kingdom 1.088247e+09\nCanada 7.439720e+08\nIsrael 7.263255e+08\nFrance 3.619395e+08\nBermuda 3.377060e+08\nIndonesia 3.190574e+08\nNew Zealand 2.651269e+08\nPapua New Guinea 2.557179e+08\nUnited Arab Emirates 2.291999e+08\nSweden 2.026358e+08\nGermany 2.009743e+08\nSwitzerland 1.325965e+08\nSingapore 1.297435e+08\nKorea, Republic Of 1.090497e+08\nBelgium 1.021796e+08\nNorway 9.430831e+07\nItaly 9.402772e+07\nNetherlands 7.056990e+07\nPhilippines 6.505171e+07\nFiji 5.790167e+07\nChina 4.502104e+07\nAustria 3.892078e+07\nIraq 3.459977e+07\nAfghanistan 3.024604e+07\nKenya 2.711251e+07\nMalaysia 2.665204e+07\nIreland 2.538092e+07\nViet Nam 2.198464e+07\nSolomon Islands 1.587068e+07\nLao People's Democratic Republic 1.580249e+07\nDenmark 1.385259e+07\nCroatia 1.272834e+07\nJapan 1.270061e+07\nThailand 1.116128e+07\nHong Kong 1.091070e+07"
}
],
"prompt_number": 97
},
{
"cell_type": "code",
"collapsed": false,
"input": "# top 40 countries by avg contract value\npd.DataFrame(countries.value.mean()).sort('value', ascending=False)[:40]",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>value</th>\n </tr>\n <tr>\n <th>sup_country</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Supplier Abn Exempt</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Branch</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Bermuda</th>\n <td> 42213255.376250</td>\n </tr>\n <tr>\n <th>Spain</th>\n <td> 18405520.646792</td>\n </tr>\n <tr>\n <th>Iraq</th>\n <td> 5766628.201667</td>\n </tr>\n <tr>\n <th>Mauritius</th>\n <td> 5074710.360000</td>\n </tr>\n <tr>\n <th>Israel</th>\n <td> 4150431.237943</td>\n </tr>\n <tr>\n <th>United States</th>\n <td> 2578413.298499</td>\n </tr>\n <tr>\n <th>France</th>\n <td> 1360674.964248</td>\n </tr>\n <tr>\n <th>Italy</th>\n <td> 1270644.843649</td>\n </tr>\n <tr>\n <th>Norway</th>\n <td> 1193776.050759</td>\n </tr>\n <tr>\n <th>Croatia</th>\n <td> 1157121.818182</td>\n </tr>\n <tr>\n <th>Syrian Arab Republic</th>\n <td> 1150305.000000</td>\n </tr>\n <tr>\n <th>Sweden</th>\n <td> 1049926.537565</td>\n </tr>\n <tr>\n <th>Austria</th>\n <td> 997968.745897</td>\n </tr>\n <tr>\n <th>Indonesia</th>\n <td> 797643.439250</td>\n </tr>\n <tr>\n <th>Zimbabwe</th>\n <td> 782932.179000</td>\n </tr>\n <tr>\n <th>Canada</th>\n <td> 728669.946053</td>\n </tr>\n <tr>\n <th>Argentina</th>\n <td> 717551.666667</td>\n </tr>\n <tr>\n <th>Korea, Republic Of</th>\n <td> 703546.304194</td>\n </tr>\n <tr>\n <th>Papua New Guinea</th>\n <td> 655686.996308</td>\n </tr>\n <tr>\n <th>Nepal</th>\n <td> 634360.891429</td>\n </tr>\n <tr>\n <th>Mozambique</th>\n <td> 623483.435714</td>\n </tr>\n <tr>\n <th>Australia</th>\n <td> 580944.106911</td>\n </tr>\n <tr>\n <th>Kenya</th>\n <td> 576861.870000</td>\n </tr>\n <tr>\n <th>Zambia</th>\n <td> 565551.225000</td>\n </tr>\n <tr>\n <th>Lao People's Democratic Republic</th>\n <td> 544913.541379</td>\n </tr>\n <tr>\n <th>Afghanistan</th>\n <td> 504100.735833</td>\n </tr>\n <tr>\n <th>Netherlands</th>\n <td> 438322.388012</td>\n </tr>\n <tr>\n <th>Germany</th>\n <td> 425793.080508</td>\n </tr>\n <tr>\n <th>Viet Nam</th>\n <td> 399720.766000</td>\n </tr>\n <tr>\n <th>Egypt</th>\n <td> 374222.748750</td>\n </tr>\n <tr>\n <th>Fiji</th>\n <td> 371164.547436</td>\n </tr>\n <tr>\n <th>United Arab Emirates</th>\n <td> 363232.757845</td>\n </tr>\n <tr>\n <th>Slovenia</th>\n <td> 349899.840000</td>\n </tr>\n <tr>\n <th>United Kingdom</th>\n <td> 307588.069254</td>\n </tr>\n <tr>\n <th>Philippines</th>\n <td> 303979.974953</td>\n </tr>\n <tr>\n <th>Finland</th>\n <td> 298574.749167</td>\n </tr>\n <tr>\n <th>Luxembourg</th>\n <td> 296051.489000</td>\n </tr>\n <tr>\n <th>Singapore</th>\n <td> 292215.099775</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 98,
"text": " value\nsup_country \nSupplier Abn Exempt NaN\nBranch NaN\nBermuda 42213255.376250\nSpain 18405520.646792\nIraq 5766628.201667\nMauritius 5074710.360000\nIsrael 4150431.237943\nUnited States 2578413.298499\nFrance 1360674.964248\nItaly 1270644.843649\nNorway 1193776.050759\nCroatia 1157121.818182\nSyrian Arab Republic 1150305.000000\nSweden 1049926.537565\nAustria 997968.745897\nIndonesia 797643.439250\nZimbabwe 782932.179000\nCanada 728669.946053\nArgentina 717551.666667\nKorea, Republic Of 703546.304194\nPapua New Guinea 655686.996308\nNepal 634360.891429\nMozambique 623483.435714\nAustralia 580944.106911\nKenya 576861.870000\nZambia 565551.225000\nLao People's Democratic Republic 544913.541379\nAfghanistan 504100.735833\nNetherlands 438322.388012\nGermany 425793.080508\nViet Nam 399720.766000\nEgypt 374222.748750\nFiji 371164.547436\nUnited Arab Emirates 363232.757845\nSlovenia 349899.840000\nUnited Kingdom 307588.069254\nPhilippines 303979.974953\nFinland 298574.749167\nLuxembourg 296051.489000\nSingapore 292215.099775"
}
],
"prompt_number": 98
},
{
"cell_type": "code",
"collapsed": false,
"input": "# top 40 agencies by total contract value\npd.DataFrame(agencies.value.sum()).sort('value', ascending=False)[:40]",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>value</th>\n </tr>\n <tr>\n <th>agency</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Start Date</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Parent Contract ID</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Department of Defence</th>\n <td> 8.583539e+10</td>\n </tr>\n <tr>\n <th>Defence Materiel Organisation</th>\n <td> 5.132168e+10</td>\n </tr>\n <tr>\n <th>Department of Education Employment and Workplace Relations</th>\n <td> 1.621832e+10</td>\n </tr>\n <tr>\n <th>Australian Taxation Office</th>\n <td> 1.422533e+10</td>\n </tr>\n <tr>\n <th>Department of Immigration and Citizenship</th>\n <td> 1.177233e+10</td>\n </tr>\n <tr>\n <th>AusAid</th>\n <td> 1.109539e+10</td>\n </tr>\n <tr>\n <th>Department of Human Services</th>\n <td> 9.650359e+09</td>\n </tr>\n <tr>\n <th>National Blood Authority</th>\n <td> 8.829139e+09</td>\n </tr>\n <tr>\n <th>Telecommunications Universal Service Management Agency</th>\n <td> 6.401227e+09</td>\n </tr>\n <tr>\n <th>Department of Health and Ageing</th>\n <td> 5.598278e+09</td>\n </tr>\n <tr>\n <th>Australian Customs and Border Protection Service</th>\n <td> 5.471800e+09</td>\n </tr>\n <tr>\n <th>Department of Foreign Affairs and Trade</th>\n <td> 3.699946e+09</td>\n </tr>\n <tr>\n <th>Australian Federal Police</th>\n <td> 3.520599e+09</td>\n </tr>\n <tr>\n <th>Department of Finance and Deregulation</th>\n <td> 2.863108e+09</td>\n </tr>\n <tr>\n <th>Centrelink</th>\n <td> 2.861052e+09</td>\n </tr>\n <tr>\n <th>Department of Veterans' Affairs</th>\n <td> 1.777466e+09</td>\n </tr>\n <tr>\n <th>Department of Families, Housing, Community Services and Indigenous Affairs</th>\n <td> 1.732574e+09</td>\n </tr>\n <tr>\n <th>Attorney-General's Department</th>\n <td> 1.580485e+09</td>\n </tr>\n <tr>\n <th>Commonwealth of Australia</th>\n <td> 1.569198e+09</td>\n </tr>\n <tr>\n <th>Department of Education, Science and Training</th>\n <td> 1.543785e+09</td>\n </tr>\n <tr>\n <th>Department of Agriculture Fisheries and Forestry</th>\n <td> 1.386399e+09</td>\n </tr>\n <tr>\n <th>Australian Bureau of Statistics</th>\n <td> 1.133664e+09</td>\n </tr>\n <tr>\n <th>Medicare Australia</th>\n <td> 1.116243e+09</td>\n </tr>\n <tr>\n <th>Department of the Environment Water Heritage and the Arts</th>\n <td> 1.113993e+09</td>\n </tr>\n <tr>\n <th>Department of Broadband Communications and the Digital Economy</th>\n <td> 1.082909e+09</td>\n </tr>\n <tr>\n <th>Department of Immigration and Multicultural and Indigenous Affairs (DIMIA)</th>\n <td> 1.014405e+09</td>\n </tr>\n <tr>\n <th>Australian Securities and Investments Commission</th>\n <td> 9.030079e+08</td>\n </tr>\n <tr>\n <th>Department of Climate Change and Energy Efficiency</th>\n <td> 8.756777e+08</td>\n </tr>\n <tr>\n <th>Department of Finance and Administration</th>\n <td> 8.595980e+08</td>\n </tr>\n <tr>\n <th>Department of Industry, Innovation, Science, Research and Tertiary Education</th>\n <td> 7.411576e+08</td>\n </tr>\n <tr>\n <th>Department of Immigration and Multicultural Affairs</th>\n <td> 7.137016e+08</td>\n </tr>\n <tr>\n <th>Geoscience Australia</th>\n <td> 6.653677e+08</td>\n </tr>\n <tr>\n <th>IP Australia</th>\n <td> 6.024843e+08</td>\n </tr>\n <tr>\n <th>Department of the Prime Minister and Cabinet</th>\n <td> 5.454775e+08</td>\n </tr>\n <tr>\n <th>Department of the Environment and Water Resources</th>\n <td> 5.311789e+08</td>\n </tr>\n <tr>\n <th>Australian Maritime Safety Authority</th>\n <td> 5.285189e+08</td>\n </tr>\n <tr>\n <th>Australian Electoral Commission</th>\n <td> 5.097786e+08</td>\n </tr>\n <tr>\n <th>Department of Parliamentary Services</th>\n <td> 4.999988e+08</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 100,
"text": " value\nagency \nStart Date NaN\nParent Contract ID NaN\nDepartment of Defence 8.583539e+10\nDefence Materiel Organisation 5.132168e+10\nDepartment of Education Employment and Workplace Relations 1.621832e+10\nAustralian Taxation Office 1.422533e+10\nDepartment of Immigration and Citizenship 1.177233e+10\nAusAid 1.109539e+10\nDepartment of Human Services 9.650359e+09\nNational Blood Authority 8.829139e+09\nTelecommunications Universal Service Management Agency 6.401227e+09\nDepartment of Health and Ageing 5.598278e+09\nAustralian Customs and Border Protection Service 5.471800e+09\nDepartment of Foreign Affairs and Trade 3.699946e+09\nAustralian Federal Police 3.520599e+09\nDepartment of Finance and Deregulation 2.863108e+09\nCentrelink 2.861052e+09\nDepartment of Veterans' Affairs 1.777466e+09\nDepartment of Families, Housing, Community Services and Indigenous Affairs 1.732574e+09\nAttorney-General's Department 1.580485e+09\nCommonwealth of Australia 1.569198e+09\nDepartment of Education, Science and Training 1.543785e+09\nDepartment of Agriculture Fisheries and Forestry 1.386399e+09\nAustralian Bureau of Statistics 1.133664e+09\nMedicare Australia 1.116243e+09\nDepartment of the Environment Water Heritage and the Arts 1.113993e+09\nDepartment of Broadband Communications and the Digital Economy 1.082909e+09\nDepartment of Immigration and Multicultural and Indigenous Affairs (DIMIA) 1.014405e+09\nAustralian Securities and Investments Commission 9.030079e+08\nDepartment of Climate Change and Energy Efficiency 8.756777e+08\nDepartment of Finance and Administration 8.595980e+08\nDepartment of Industry, Innovation, Science, Research and Tertiary Education 7.411576e+08\nDepartment of Immigration and Multicultural Affairs 7.137016e+08\nGeoscience Australia 6.653677e+08\nIP Australia 6.024843e+08\nDepartment of the Prime Minister and Cabinet 5.454775e+08\nDepartment of the Environment and Water Resources 5.311789e+08\nAustralian Maritime Safety Authority 5.285189e+08\nAustralian Electoral Commission 5.097786e+08\nDepartment of Parliamentary Services 4.999988e+08"
}
],
"prompt_number": 100
},
{
"cell_type": "code",
"collapsed": false,
"input": "# top 40 agencies by avg contract value\npd.DataFrame(agencies.value.mean()).sort('value', ascending=False)[:40]",
"language": "python",
"metadata": {},
"outputs": [
{
"html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>value</th>\n </tr>\n <tr>\n <th>agency</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>Parent Contract ID</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Start Date</th>\n <td> NaN</td>\n </tr>\n <tr>\n <th>Telecommunications Universal Service Management Agency</th>\n <td> 5.819297e+08</td>\n </tr>\n <tr>\n <th>Commonwealth of Australia</th>\n <td> 5.230658e+08</td>\n </tr>\n <tr>\n <th>Sydney Harbour Federation Trust</th>\n <td> 2.594764e+07</td>\n </tr>\n <tr>\n <th>Australian Maritime Safety Authority</th>\n <td> 1.887567e+07</td>\n </tr>\n <tr>\n <th>National Blood Authority</th>\n <td> 1.440316e+07</td>\n </tr>\n <tr>\n <th>Department of Immigration and Multicultural and Indigenous Affairs (DIMIA)</th>\n <td> 6.630098e+06</td>\n </tr>\n <tr>\n <th>Department of Immigration and Multicultural Affairs</th>\n <td> 6.315944e+06</td>\n </tr>\n <tr>\n <th>Australian Broadcasting Corporation</th>\n <td> 5.379823e+06</td>\n </tr>\n <tr>\n <th>CSIRO</th>\n <td> 3.397206e+06</td>\n </tr>\n <tr>\n <th>Reserve Bank of Australia</th>\n <td> 2.322778e+06</td>\n </tr>\n <tr>\n <th>Office of Workplace Services</th>\n <td> 2.320895e+06</td>\n </tr>\n <tr>\n <th>Australian Nuclear Science and Technology Organisation (ANSTO)</th>\n <td> 1.941529e+06</td>\n </tr>\n <tr>\n <th>Director of National Parks</th>\n <td> 1.909837e+06</td>\n </tr>\n <tr>\n <th>Tourism Australia</th>\n <td> 1.896757e+06</td>\n </tr>\n <tr>\n <th>Australian Taxation Office</th>\n <td> 1.838373e+06</td>\n </tr>\n <tr>\n <th>Department of Education Employment and Workplace Relations</th>\n <td> 1.834652e+06</td>\n </tr>\n <tr>\n <th>Australian War Memorial</th>\n <td> 1.807429e+06</td>\n </tr>\n <tr>\n <th>National Museum of Australia</th>\n <td> 1.484007e+06</td>\n </tr>\n <tr>\n <th>Department of Human Services</th>\n <td> 1.352159e+06</td>\n </tr>\n <tr>\n <th>AusAid</th>\n <td> 1.173122e+06</td>\n </tr>\n <tr>\n <th>Australian Institute of Health and Welfare</th>\n <td> 1.109005e+06</td>\n </tr>\n <tr>\n <th>Department of Immigration and Citizenship</th>\n <td> 1.076967e+06</td>\n </tr>\n <tr>\n <th>Comcare</th>\n <td> 1.017769e+06</td>\n </tr>\n <tr>\n <th>National Gallery of Australia</th>\n <td> 9.126177e+05</td>\n </tr>\n <tr>\n <th>Export Finance and Insurance Corporation (EFIC)</th>\n <td> 8.976000e+05</td>\n </tr>\n <tr>\n <th>Australia-Japan Foundation</th>\n <td> 8.348650e+05</td>\n </tr>\n <tr>\n <th>Department of Finance and Administration</th>\n <td> 8.337517e+05</td>\n </tr>\n <tr>\n <th>Grains Research and Development Corporation</th>\n <td> 8.096375e+05</td>\n </tr>\n <tr>\n <th>Australian National Preventive Health Agency</th>\n <td> 8.026669e+05</td>\n </tr>\n <tr>\n <th>Department of Defence</th>\n <td> 7.885296e+05</td>\n </tr>\n <tr>\n <th>Australian Customs and Border Protection Service</th>\n <td> 7.865172e+05</td>\n </tr>\n <tr>\n <th>Department of Education, Science and Training</th>\n <td> 7.244418e+05</td>\n </tr>\n <tr>\n <th>Office of the Auditing and Assurance Standards Board</th>\n <td> 6.682685e+05</td>\n </tr>\n <tr>\n <th>Office of National Assessments</th>\n <td> 6.004092e+05</td>\n </tr>\n <tr>\n <th>Department of the Environment and Water Resources</th>\n <td> 5.968302e+05</td>\n </tr>\n <tr>\n <th>Department of Family and Community Services (FaCS)</th>\n <td> 5.966813e+05</td>\n </tr>\n <tr>\n <th>Defence Materiel Organisation</th>\n <td> 5.888755e+05</td>\n </tr>\n <tr>\n <th>Department of Foreign Affairs and Trade</th>\n <td> 5.836798e+05</td>\n </tr>\n </tbody>\n</table>\n</div>",
"metadata": {},
"output_type": "pyout",
"prompt_number": 101,
"text": " value\nagency \nParent Contract ID NaN\nStart Date NaN\nTelecommunications Universal Service Management Agency 5.819297e+08\nCommonwealth of Australia 5.230658e+08\nSydney Harbour Federation Trust 2.594764e+07\nAustralian Maritime Safety Authority 1.887567e+07\nNational Blood Authority 1.440316e+07\nDepartment of Immigration and Multicultural and Indigenous Affairs (DIMIA) 6.630098e+06\nDepartment of Immigration and Multicultural Affairs 6.315944e+06\nAustralian Broadcasting Corporation 5.379823e+06\nCSIRO 3.397206e+06\nReserve Bank of Australia 2.322778e+06\nOffice of Workplace Services 2.320895e+06\nAustralian Nuclear Science and Technology Organisation (ANSTO) 1.941529e+06\nDirector of National Parks 1.909837e+06\nTourism Australia 1.896757e+06\nAustralian Taxation Office 1.838373e+06\nDepartment of Education Employment and Workplace Relations 1.834652e+06\nAustralian War Memorial 1.807429e+06\nNational Museum of Australia 1.484007e+06\nDepartment of Human Services 1.352159e+06\nAusAid 1.173122e+06\nAustralian Institute of Health and Welfare 1.109005e+06\nDepartment of Immigration and Citizenship 1.076967e+06\nComcare 1.017769e+06\nNational Gallery of Australia 9.126177e+05\nExport Finance and Insurance Corporation (EFIC) 8.976000e+05\nAustralia-Japan Foundation 8.348650e+05\nDepartment of Finance and Administration 8.337517e+05\nGrains Research and Development Corporation 8.096375e+05\nAustralian National Preventive Health Agency 8.026669e+05\nDepartment of Defence 7.885296e+05\nAustralian Customs and Border Protection Service 7.865172e+05\nDepartment of Education, Science and Training 7.244418e+05\nOffice of the Auditing and Assurance Standards Board 6.682685e+05\nOffice of National Assessments 6.004092e+05\nDepartment of the Environment and Water Resources 5.968302e+05\nDepartment of Family and Community Services (FaCS) 5.966813e+05\nDefence Materiel Organisation 5.888755e+05\nDepartment of Foreign Affairs and Trade 5.836798e+05"
}
],
"prompt_number": 101
},
{
"cell_type": "code",
"collapsed": false,
"input": "",
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment