Skip to content

Instantly share code, notes, and snippets.

@digitalWestie
Last active October 30, 2019 12:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save digitalWestie/ea468aa340722c5b985eba17d21e27a3 to your computer and use it in GitHub Desktop.
Save digitalWestie/ea468aa340722c5b985eba17d21e27a3 to your computer and use it in GitHub Desktop.
Basic clustering for UrbanTide analytics
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import io\n",
"import requests\n",
"from sklearn.cluster import KMeans\n",
"\n",
"url = \"http://airo.maynoothuniversity.ie/files/dDATASTORE/electoral_divisions/theme_3_electoral_divisions.csv\"\n",
"s=requests.get(url).content\n",
"dataset=pd.read_csv(io.StringIO(s.decode('windows-1252')))\n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>CODE</th>\n",
" <th>ED_NAME</th>\n",
" <th>COUNTY</th>\n",
" <th>NUT3_II</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>001 Carlow Urban</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>002 Graigue Urban</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>003 Clonmore</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>004 Hacketstown</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>005 Haroldstown</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>6</td>\n",
" <td>006 Kineagh</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>7</td>\n",
" <td>007 Rahill</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>8</td>\n",
" <td>008 Rathvilly</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9</td>\n",
" <td>009 Tiknock</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>10</td>\n",
" <td>010 Williamstown</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>11</td>\n",
" <td>011 Agha</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>12</td>\n",
" <td>012 Ballinacarrig</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>13</td>\n",
" <td>013 Ballintemple</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>14</td>\n",
" <td>014 Ballon</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>15</td>\n",
" <td>015 Ballyellin</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>16</td>\n",
" <td>016 Ballymoon</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>17</td>\n",
" <td>017 Borris</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>18</td>\n",
" <td>018 Burton Hall</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>19</td>\n",
" <td>019 Carlow Rural</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>20</td>\n",
" <td>020 Clogrenan</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>21</td>\n",
" <td>021 Clonegall</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>22</td>\n",
" <td>022 Corries</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>23</td>\n",
" <td>023 Cranemore</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>24</td>\n",
" <td>024 Fennagh</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>25</td>\n",
" <td>025 Garryhill</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>26</td>\n",
" <td>026 Grangeford</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>27</td>\n",
" <td>027 Johnstown</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>28</td>\n",
" <td>028 Kellistown</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>29</td>\n",
" <td>029 Kilbride</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>30</td>\n",
" <td>030 Killedmond</td>\n",
" <td>Carlow</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3376</th>\n",
" <td>3383</td>\n",
" <td>044 Lisnaveane</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3377</th>\n",
" <td>3384</td>\n",
" <td>045 Newbliss</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3378</th>\n",
" <td>3385</td>\n",
" <td>046 St. Tierney</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3379</th>\n",
" <td>3386</td>\n",
" <td>047 Anketell Grove</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3380</th>\n",
" <td>3387</td>\n",
" <td>048 Bellanode</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3381</th>\n",
" <td>3388</td>\n",
" <td>049 Bragan</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3382</th>\n",
" <td>3389</td>\n",
" <td>050 Caddagh</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3383</th>\n",
" <td>3390</td>\n",
" <td>051 Castleshane</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3384</th>\n",
" <td>3391</td>\n",
" <td>052 Clones</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3385</th>\n",
" <td>3392</td>\n",
" <td>053 Clontibret</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3386</th>\n",
" <td>3393</td>\n",
" <td>054 Derrygorry</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3387</th>\n",
" <td>3394</td>\n",
" <td>055 Drumhillagh</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3388</th>\n",
" <td>3395</td>\n",
" <td>056 Drumsnat</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3389</th>\n",
" <td>3396</td>\n",
" <td>057 Emyvale</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3390</th>\n",
" <td>3397</td>\n",
" <td>058 Enagh</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3391</th>\n",
" <td>3398</td>\n",
" <td>059 Figullar</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3392</th>\n",
" <td>3399</td>\n",
" <td>060 Glaslough</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3393</th>\n",
" <td>3400</td>\n",
" <td>061 Killylough</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3394</th>\n",
" <td>3401</td>\n",
" <td>062 Kilmore</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3395</th>\n",
" <td>3402</td>\n",
" <td>063 Monaghan Rural</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3396</th>\n",
" <td>3403</td>\n",
" <td>064 Rackwallace</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3397</th>\n",
" <td>3404</td>\n",
" <td>065 Scotstown</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3398</th>\n",
" <td>3405</td>\n",
" <td>066 Shanmullagh</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3399</th>\n",
" <td>3406</td>\n",
" <td>067 Sheskin</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3400</th>\n",
" <td>3407</td>\n",
" <td>068 Tedavnet</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3401</th>\n",
" <td>3408</td>\n",
" <td>069 Tehallan</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3402</th>\n",
" <td>3409</td>\n",
" <td>070 Tullycorbet</td>\n",
" <td>Monaghan</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3403</th>\n",
" <td>25701</td>\n",
" <td>701 Ballynakill (part)(070)/Kilbarry (part)(074)</td>\n",
" <td>Waterford County</td>\n",
" <td>SE</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3404</th>\n",
" <td>27701</td>\n",
" <td>702 Bencorr(022)/Derrycunlagh(028)/Derrylea(027)</td>\n",
" <td>Galway County</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3405</th>\n",
" <td>28702</td>\n",
" <td>703 Aghalateeve(027)/Aghavoghill(029)/Aghanlis...</td>\n",
" <td>Leitrim</td>\n",
" <td>BMW</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3406 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" CODE ED_NAME \\\n",
"0 1 001 Carlow Urban \n",
"1 2 002 Graigue Urban \n",
"2 3 003 Clonmore \n",
"3 4 004 Hacketstown \n",
"4 5 005 Haroldstown \n",
"5 6 006 Kineagh \n",
"6 7 007 Rahill \n",
"7 8 008 Rathvilly \n",
"8 9 009 Tiknock \n",
"9 10 010 Williamstown \n",
"10 11 011 Agha \n",
"11 12 012 Ballinacarrig \n",
"12 13 013 Ballintemple \n",
"13 14 014 Ballon \n",
"14 15 015 Ballyellin \n",
"15 16 016 Ballymoon \n",
"16 17 017 Borris \n",
"17 18 018 Burton Hall \n",
"18 19 019 Carlow Rural \n",
"19 20 020 Clogrenan \n",
"20 21 021 Clonegall \n",
"21 22 022 Corries \n",
"22 23 023 Cranemore \n",
"23 24 024 Fennagh \n",
"24 25 025 Garryhill \n",
"25 26 026 Grangeford \n",
"26 27 027 Johnstown \n",
"27 28 028 Kellistown \n",
"28 29 029 Kilbride \n",
"29 30 030 Killedmond \n",
"... ... ... \n",
"3376 3383 044 Lisnaveane \n",
"3377 3384 045 Newbliss \n",
"3378 3385 046 St. Tierney \n",
"3379 3386 047 Anketell Grove \n",
"3380 3387 048 Bellanode \n",
"3381 3388 049 Bragan \n",
"3382 3389 050 Caddagh \n",
"3383 3390 051 Castleshane \n",
"3384 3391 052 Clones \n",
"3385 3392 053 Clontibret \n",
"3386 3393 054 Derrygorry \n",
"3387 3394 055 Drumhillagh \n",
"3388 3395 056 Drumsnat \n",
"3389 3396 057 Emyvale \n",
"3390 3397 058 Enagh \n",
"3391 3398 059 Figullar \n",
"3392 3399 060 Glaslough \n",
"3393 3400 061 Killylough \n",
"3394 3401 062 Kilmore \n",
"3395 3402 063 Monaghan Rural \n",
"3396 3403 064 Rackwallace \n",
"3397 3404 065 Scotstown \n",
"3398 3405 066 Shanmullagh \n",
"3399 3406 067 Sheskin \n",
"3400 3407 068 Tedavnet \n",
"3401 3408 069 Tehallan \n",
"3402 3409 070 Tullycorbet \n",
"3403 25701 701 Ballynakill (part)(070)/Kilbarry (part)(074) \n",
"3404 27701 702 Bencorr(022)/Derrycunlagh(028)/Derrylea(027) \n",
"3405 28702 703 Aghalateeve(027)/Aghavoghill(029)/Aghanlis... \n",
"\n",
" COUNTY NUT3_II \n",
"0 Carlow SE \n",
"1 Carlow SE \n",
"2 Carlow SE \n",
"3 Carlow SE \n",
"4 Carlow SE \n",
"5 Carlow SE \n",
"6 Carlow SE \n",
"7 Carlow SE \n",
"8 Carlow SE \n",
"9 Carlow SE \n",
"10 Carlow SE \n",
"11 Carlow SE \n",
"12 Carlow SE \n",
"13 Carlow SE \n",
"14 Carlow SE \n",
"15 Carlow SE \n",
"16 Carlow SE \n",
"17 Carlow SE \n",
"18 Carlow SE \n",
"19 Carlow SE \n",
"20 Carlow SE \n",
"21 Carlow SE \n",
"22 Carlow SE \n",
"23 Carlow SE \n",
"24 Carlow SE \n",
"25 Carlow SE \n",
"26 Carlow SE \n",
"27 Carlow SE \n",
"28 Carlow SE \n",
"29 Carlow SE \n",
"... ... ... \n",
"3376 Monaghan BMW \n",
"3377 Monaghan BMW \n",
"3378 Monaghan BMW \n",
"3379 Monaghan BMW \n",
"3380 Monaghan BMW \n",
"3381 Monaghan BMW \n",
"3382 Monaghan BMW \n",
"3383 Monaghan BMW \n",
"3384 Monaghan BMW \n",
"3385 Monaghan BMW \n",
"3386 Monaghan BMW \n",
"3387 Monaghan BMW \n",
"3388 Monaghan BMW \n",
"3389 Monaghan BMW \n",
"3390 Monaghan BMW \n",
"3391 Monaghan BMW \n",
"3392 Monaghan BMW \n",
"3393 Monaghan BMW \n",
"3394 Monaghan BMW \n",
"3395 Monaghan BMW \n",
"3396 Monaghan BMW \n",
"3397 Monaghan BMW \n",
"3398 Monaghan BMW \n",
"3399 Monaghan BMW \n",
"3400 Monaghan BMW \n",
"3401 Monaghan BMW \n",
"3402 Monaghan BMW \n",
"3403 Waterford County SE \n",
"3404 Galway County BMW \n",
"3405 Leitrim BMW \n",
"\n",
"[3406 rows x 4 columns]"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#We have now downloaded the contents of the csv file, and read them into a variable.\n",
"#We can print out parts of the dataset like so:\n",
"\n",
"dataset.iloc[:,0:4]"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>NUT3_II</th>\n",
" <th>NUT3_III</th>\n",
" <th>Planning Region</th>\n",
" <th>Ability_To_Speak_Irish_Yes_2006</th>\n",
" <th>Ability_To_Speak_Irish_Yes_2011</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>1475</td>\n",
" <td>1227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>429</td>\n",
" <td>390</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>226</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>368</td>\n",
" <td>349</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>109</td>\n",
" <td>109</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>115</td>\n",
" <td>125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>191</td>\n",
" <td>251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>271</td>\n",
" <td>294</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>95</td>\n",
" <td>104</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>95</td>\n",
" <td>115</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>120</td>\n",
" <td>147</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>464</td>\n",
" <td>455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>186</td>\n",
" <td>217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>212</td>\n",
" <td>274</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>147</td>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>92</td>\n",
" <td>126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>353</td>\n",
" <td>347</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>154</td>\n",
" <td>208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>5146</td>\n",
" <td>5410</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>295</td>\n",
" <td>404</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>323</td>\n",
" <td>392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>179</td>\n",
" <td>173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>349</td>\n",
" <td>360</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>186</td>\n",
" <td>256</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>197</td>\n",
" <td>216</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>121</td>\n",
" <td>143</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>243</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>451</td>\n",
" <td>413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>138</td>\n",
" <td>171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>154</td>\n",
" <td>169</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3376</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>160</td>\n",
" <td>167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3377</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>295</td>\n",
" <td>324</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3378</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>201</td>\n",
" <td>208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3379</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>382</td>\n",
" <td>415</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3380</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>591</td>\n",
" <td>653</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3381</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>96</td>\n",
" <td>106</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3382</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>159</td>\n",
" <td>175</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3383</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>349</td>\n",
" <td>395</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3384</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>199</td>\n",
" <td>185</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3385</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>286</td>\n",
" <td>277</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3386</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>95</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3387</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>267</td>\n",
" <td>280</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3388</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>404</td>\n",
" <td>409</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3389</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>433</td>\n",
" <td>437</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3390</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>199</td>\n",
" <td>179</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3391</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>166</td>\n",
" <td>190</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3392</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>297</td>\n",
" <td>305</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3393</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>244</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3394</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>227</td>\n",
" <td>213</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3395</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>2103</td>\n",
" <td>2153</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3396</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>324</td>\n",
" <td>347</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3397</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>525</td>\n",
" <td>562</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3398</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>84</td>\n",
" <td>77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3399</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>204</td>\n",
" <td>263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3400</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>409</td>\n",
" <td>399</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3401</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>368</td>\n",
" <td>409</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3402</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>203</td>\n",
" <td>245</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3403</th>\n",
" <td>SE</td>\n",
" <td>South-East</td>\n",
" <td>Southern</td>\n",
" <td>222</td>\n",
" <td>252</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3404</th>\n",
" <td>BMW</td>\n",
" <td>West</td>\n",
" <td>North and West</td>\n",
" <td>163</td>\n",
" <td>211</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3405</th>\n",
" <td>BMW</td>\n",
" <td>Border</td>\n",
" <td>North and West</td>\n",
" <td>151</td>\n",
" <td>157</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3406 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" NUT3_II NUT3_III Planning Region Ability_To_Speak_Irish_Yes_2006 \\\n",
"0 SE South-East Southern 1475 \n",
"1 SE South-East Southern 429 \n",
"2 SE South-East Southern 226 \n",
"3 SE South-East Southern 368 \n",
"4 SE South-East Southern 109 \n",
"5 SE South-East Southern 115 \n",
"6 SE South-East Southern 191 \n",
"7 SE South-East Southern 271 \n",
"8 SE South-East Southern 95 \n",
"9 SE South-East Southern 95 \n",
"10 SE South-East Southern 120 \n",
"11 SE South-East Southern 464 \n",
"12 SE South-East Southern 186 \n",
"13 SE South-East Southern 212 \n",
"14 SE South-East Southern 147 \n",
"15 SE South-East Southern 92 \n",
"16 SE South-East Southern 353 \n",
"17 SE South-East Southern 154 \n",
"18 SE South-East Southern 5146 \n",
"19 SE South-East Southern 295 \n",
"20 SE South-East Southern 323 \n",
"21 SE South-East Southern 179 \n",
"22 SE South-East Southern 349 \n",
"23 SE South-East Southern 186 \n",
"24 SE South-East Southern 197 \n",
"25 SE South-East Southern 121 \n",
"26 SE South-East Southern 243 \n",
"27 SE South-East Southern 451 \n",
"28 SE South-East Southern 138 \n",
"29 SE South-East Southern 154 \n",
"... ... ... ... ... \n",
"3376 BMW Border North and West 160 \n",
"3377 BMW Border North and West 295 \n",
"3378 BMW Border North and West 201 \n",
"3379 BMW Border North and West 382 \n",
"3380 BMW Border North and West 591 \n",
"3381 BMW Border North and West 96 \n",
"3382 BMW Border North and West 159 \n",
"3383 BMW Border North and West 349 \n",
"3384 BMW Border North and West 199 \n",
"3385 BMW Border North and West 286 \n",
"3386 BMW Border North and West 95 \n",
"3387 BMW Border North and West 267 \n",
"3388 BMW Border North and West 404 \n",
"3389 BMW Border North and West 433 \n",
"3390 BMW Border North and West 199 \n",
"3391 BMW Border North and West 166 \n",
"3392 BMW Border North and West 297 \n",
"3393 BMW Border North and West 244 \n",
"3394 BMW Border North and West 227 \n",
"3395 BMW Border North and West 2103 \n",
"3396 BMW Border North and West 324 \n",
"3397 BMW Border North and West 525 \n",
"3398 BMW Border North and West 84 \n",
"3399 BMW Border North and West 204 \n",
"3400 BMW Border North and West 409 \n",
"3401 BMW Border North and West 368 \n",
"3402 BMW Border North and West 203 \n",
"3403 SE South-East Southern 222 \n",
"3404 BMW West North and West 163 \n",
"3405 BMW Border North and West 151 \n",
"\n",
" Ability_To_Speak_Irish_Yes_2011 \n",
"0 1227 \n",
"1 390 \n",
"2 230 \n",
"3 349 \n",
"4 109 \n",
"5 125 \n",
"6 251 \n",
"7 294 \n",
"8 104 \n",
"9 115 \n",
"10 147 \n",
"11 455 \n",
"12 217 \n",
"13 274 \n",
"14 161 \n",
"15 126 \n",
"16 347 \n",
"17 208 \n",
"18 5410 \n",
"19 404 \n",
"20 392 \n",
"21 173 \n",
"22 360 \n",
"23 256 \n",
"24 216 \n",
"25 143 \n",
"26 283 \n",
"27 413 \n",
"28 171 \n",
"29 169 \n",
"... ... \n",
"3376 167 \n",
"3377 324 \n",
"3378 208 \n",
"3379 415 \n",
"3380 653 \n",
"3381 106 \n",
"3382 175 \n",
"3383 395 \n",
"3384 185 \n",
"3385 277 \n",
"3386 100 \n",
"3387 280 \n",
"3388 409 \n",
"3389 437 \n",
"3390 179 \n",
"3391 190 \n",
"3392 305 \n",
"3393 255 \n",
"3394 213 \n",
"3395 2153 \n",
"3396 347 \n",
"3397 562 \n",
"3398 77 \n",
"3399 263 \n",
"3400 399 \n",
"3401 409 \n",
"3402 245 \n",
"3403 252 \n",
"3404 211 \n",
"3405 157 \n",
"\n",
"[3406 rows x 5 columns]"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# In the above examples use 'iloc' function to select rows and columns\n",
"# iloc[<rows>, <columns>]\n",
"# iloc[:,:] means all rows, and all columns\n",
"# iloc[0:10, 0:10] means rows 0 to 10, and columns 0 to 10\n",
"\n",
"dataset.iloc[:, 3:8]"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Ability_To_Speak_Irish_Yes_2006</th>\n",
" <th>Ability_To_Speak_Irish_Yes_2011</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1475</td>\n",
" <td>1227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>429</td>\n",
" <td>390</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>226</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>368</td>\n",
" <td>349</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>109</td>\n",
" <td>109</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>115</td>\n",
" <td>125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>191</td>\n",
" <td>251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>271</td>\n",
" <td>294</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>95</td>\n",
" <td>104</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>95</td>\n",
" <td>115</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>120</td>\n",
" <td>147</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>464</td>\n",
" <td>455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>186</td>\n",
" <td>217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>212</td>\n",
" <td>274</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>147</td>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>92</td>\n",
" <td>126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>353</td>\n",
" <td>347</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>154</td>\n",
" <td>208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>5146</td>\n",
" <td>5410</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>295</td>\n",
" <td>404</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>323</td>\n",
" <td>392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>179</td>\n",
" <td>173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>349</td>\n",
" <td>360</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>186</td>\n",
" <td>256</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>197</td>\n",
" <td>216</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>121</td>\n",
" <td>143</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>243</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>451</td>\n",
" <td>413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>138</td>\n",
" <td>171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>154</td>\n",
" <td>169</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2420</th>\n",
" <td>79</td>\n",
" <td>66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2421</th>\n",
" <td>45</td>\n",
" <td>37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2422</th>\n",
" <td>64</td>\n",
" <td>72</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2423</th>\n",
" <td>450</td>\n",
" <td>493</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2424</th>\n",
" <td>316</td>\n",
" <td>296</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2425</th>\n",
" <td>123</td>\n",
" <td>118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2426</th>\n",
" <td>137</td>\n",
" <td>152</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2427</th>\n",
" <td>489</td>\n",
" <td>492</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2428</th>\n",
" <td>153</td>\n",
" <td>167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2429</th>\n",
" <td>779</td>\n",
" <td>967</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2430</th>\n",
" <td>899</td>\n",
" <td>1012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2431</th>\n",
" <td>494</td>\n",
" <td>563</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2432</th>\n",
" <td>290</td>\n",
" <td>288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2433</th>\n",
" <td>156</td>\n",
" <td>197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2434</th>\n",
" <td>372</td>\n",
" <td>346</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2435</th>\n",
" <td>210</td>\n",
" <td>225</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2436</th>\n",
" <td>222</td>\n",
" <td>234</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2437</th>\n",
" <td>415</td>\n",
" <td>447</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2438</th>\n",
" <td>439</td>\n",
" <td>517</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2439</th>\n",
" <td>3628</td>\n",
" <td>4078</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2440</th>\n",
" <td>253</td>\n",
" <td>289</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2441</th>\n",
" <td>297</td>\n",
" <td>305</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2442</th>\n",
" <td>222</td>\n",
" <td>236</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2443</th>\n",
" <td>186</td>\n",
" <td>167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2444</th>\n",
" <td>83</td>\n",
" <td>91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2445</th>\n",
" <td>86</td>\n",
" <td>102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2446</th>\n",
" <td>110</td>\n",
" <td>137</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2447</th>\n",
" <td>190</td>\n",
" <td>185</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2448</th>\n",
" <td>161</td>\n",
" <td>176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3403</th>\n",
" <td>222</td>\n",
" <td>252</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2065 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" Ability_To_Speak_Irish_Yes_2006 Ability_To_Speak_Irish_Yes_2011\n",
"0 1475 1227\n",
"1 429 390\n",
"2 226 230\n",
"3 368 349\n",
"4 109 109\n",
"5 115 125\n",
"6 191 251\n",
"7 271 294\n",
"8 95 104\n",
"9 95 115\n",
"10 120 147\n",
"11 464 455\n",
"12 186 217\n",
"13 212 274\n",
"14 147 161\n",
"15 92 126\n",
"16 353 347\n",
"17 154 208\n",
"18 5146 5410\n",
"19 295 404\n",
"20 323 392\n",
"21 179 173\n",
"22 349 360\n",
"23 186 256\n",
"24 197 216\n",
"25 121 143\n",
"26 243 283\n",
"27 451 413\n",
"28 138 171\n",
"29 154 169\n",
"... ... ...\n",
"2420 79 66\n",
"2421 45 37\n",
"2422 64 72\n",
"2423 450 493\n",
"2424 316 296\n",
"2425 123 118\n",
"2426 137 152\n",
"2427 489 492\n",
"2428 153 167\n",
"2429 779 967\n",
"2430 899 1012\n",
"2431 494 563\n",
"2432 290 288\n",
"2433 156 197\n",
"2434 372 346\n",
"2435 210 225\n",
"2436 222 234\n",
"2437 415 447\n",
"2438 439 517\n",
"2439 3628 4078\n",
"2440 253 289\n",
"2441 297 305\n",
"2442 222 236\n",
"2443 186 167\n",
"2444 83 91\n",
"2445 86 102\n",
"2446 110 137\n",
"2447 190 185\n",
"2448 161 176\n",
"3403 222 252\n",
"\n",
"[2065 rows x 2 columns]"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Select rows with where NUT3_II value is \"SE\",\n",
"# and only include specified columns:\n",
"subset = dataset.loc[dataset['NUT3_II'] == 'SE', ['ED_NAME', 'Ability_To_Speak_Irish_Yes_2006', 'Ability_To_Speak_Irish_Yes_2011']]\n",
"subset"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ED_NAME</th>\n",
" <th>Ability_To_Speak_Irish_Yes_2006</th>\n",
" <th>Ability_To_Speak_Irish_Yes_2011</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>001 Carlow Urban</td>\n",
" <td>1475</td>\n",
" <td>1227</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>002 Graigue Urban</td>\n",
" <td>429</td>\n",
" <td>390</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>003 Clonmore</td>\n",
" <td>226</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>004 Hacketstown</td>\n",
" <td>368</td>\n",
" <td>349</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>005 Haroldstown</td>\n",
" <td>109</td>\n",
" <td>109</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>006 Kineagh</td>\n",
" <td>115</td>\n",
" <td>125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>007 Rahill</td>\n",
" <td>191</td>\n",
" <td>251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>008 Rathvilly</td>\n",
" <td>271</td>\n",
" <td>294</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>009 Tiknock</td>\n",
" <td>95</td>\n",
" <td>104</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>010 Williamstown</td>\n",
" <td>95</td>\n",
" <td>115</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>011 Agha</td>\n",
" <td>120</td>\n",
" <td>147</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>012 Ballinacarrig</td>\n",
" <td>464</td>\n",
" <td>455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>013 Ballintemple</td>\n",
" <td>186</td>\n",
" <td>217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>014 Ballon</td>\n",
" <td>212</td>\n",
" <td>274</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>015 Ballyellin</td>\n",
" <td>147</td>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>016 Ballymoon</td>\n",
" <td>92</td>\n",
" <td>126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>017 Borris</td>\n",
" <td>353</td>\n",
" <td>347</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>018 Burton Hall</td>\n",
" <td>154</td>\n",
" <td>208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>019 Carlow Rural</td>\n",
" <td>5146</td>\n",
" <td>5410</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>020 Clogrenan</td>\n",
" <td>295</td>\n",
" <td>404</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>021 Clonegall</td>\n",
" <td>323</td>\n",
" <td>392</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>022 Corries</td>\n",
" <td>179</td>\n",
" <td>173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>023 Cranemore</td>\n",
" <td>349</td>\n",
" <td>360</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>024 Fennagh</td>\n",
" <td>186</td>\n",
" <td>256</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>025 Garryhill</td>\n",
" <td>197</td>\n",
" <td>216</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>026 Grangeford</td>\n",
" <td>121</td>\n",
" <td>143</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>027 Johnstown</td>\n",
" <td>243</td>\n",
" <td>283</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>028 Kellistown</td>\n",
" <td>451</td>\n",
" <td>413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>029 Kilbride</td>\n",
" <td>138</td>\n",
" <td>171</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>030 Killedmond</td>\n",
" <td>154</td>\n",
" <td>169</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2420</th>\n",
" <td>062 Kilcockan</td>\n",
" <td>79</td>\n",
" <td>66</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2421</th>\n",
" <td>063 Kilwatermoy East</td>\n",
" <td>45</td>\n",
" <td>37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2422</th>\n",
" <td>064 Kilwatermoy West</td>\n",
" <td>64</td>\n",
" <td>72</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2423</th>\n",
" <td>065 Lismore Rural</td>\n",
" <td>450</td>\n",
" <td>493</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2424</th>\n",
" <td>066 Lismore Urban</td>\n",
" <td>316</td>\n",
" <td>296</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2425</th>\n",
" <td>067 Mocollop</td>\n",
" <td>123</td>\n",
" <td>118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2426</th>\n",
" <td>068 Modelligo</td>\n",
" <td>137</td>\n",
" <td>152</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2427</th>\n",
" <td>069 Tallow</td>\n",
" <td>489</td>\n",
" <td>492</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2428</th>\n",
" <td>071 Drumcannon</td>\n",
" <td>153</td>\n",
" <td>167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2429</th>\n",
" <td>072 Faithlegg (part)</td>\n",
" <td>779</td>\n",
" <td>967</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2430</th>\n",
" <td>073 Islandikane</td>\n",
" <td>899</td>\n",
" <td>1012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2431</th>\n",
" <td>075 Killea</td>\n",
" <td>494</td>\n",
" <td>563</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2432</th>\n",
" <td>076 Killoteran</td>\n",
" <td>290</td>\n",
" <td>288</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2433</th>\n",
" <td>077 Kilmacleague</td>\n",
" <td>156</td>\n",
" <td>197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2434</th>\n",
" <td>078 Kilmeadan</td>\n",
" <td>372</td>\n",
" <td>346</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2435</th>\n",
" <td>079 Newcastle</td>\n",
" <td>210</td>\n",
" <td>225</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2436</th>\n",
" <td>080 Pembrokestown</td>\n",
" <td>222</td>\n",
" <td>234</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2437</th>\n",
" <td>081 Rathmoylan</td>\n",
" <td>415</td>\n",
" <td>447</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2438</th>\n",
" <td>082 Reisk</td>\n",
" <td>439</td>\n",
" <td>517</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2439</th>\n",
" <td>083 Tramore</td>\n",
" <td>3628</td>\n",
" <td>4078</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2440</th>\n",
" <td>084 Woodstown</td>\n",
" <td>253</td>\n",
" <td>289</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2441</th>\n",
" <td>085 Ardmore</td>\n",
" <td>297</td>\n",
" <td>305</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2442</th>\n",
" <td>086 Ballyheeny</td>\n",
" <td>222</td>\n",
" <td>236</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2443</th>\n",
" <td>087 Clashmore</td>\n",
" <td>186</td>\n",
" <td>167</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2444</th>\n",
" <td>088 Glenwilliam</td>\n",
" <td>83</td>\n",
" <td>91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2445</th>\n",
" <td>089 Grallagh</td>\n",
" <td>86</td>\n",
" <td>102</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2446</th>\n",
" <td>090 Grange</td>\n",
" <td>110</td>\n",
" <td>137</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2447</th>\n",
" <td>091 Kinsalebeg</td>\n",
" <td>190</td>\n",
" <td>185</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2448</th>\n",
" <td>092 Templemichael</td>\n",
" <td>161</td>\n",
" <td>176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3403</th>\n",
" <td>701 Ballynakill (part)(070)/Kilbarry (part)(074)</td>\n",
" <td>222</td>\n",
" <td>252</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2065 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" ED_NAME \\\n",
"0 001 Carlow Urban \n",
"1 002 Graigue Urban \n",
"2 003 Clonmore \n",
"3 004 Hacketstown \n",
"4 005 Haroldstown \n",
"5 006 Kineagh \n",
"6 007 Rahill \n",
"7 008 Rathvilly \n",
"8 009 Tiknock \n",
"9 010 Williamstown \n",
"10 011 Agha \n",
"11 012 Ballinacarrig \n",
"12 013 Ballintemple \n",
"13 014 Ballon \n",
"14 015 Ballyellin \n",
"15 016 Ballymoon \n",
"16 017 Borris \n",
"17 018 Burton Hall \n",
"18 019 Carlow Rural \n",
"19 020 Clogrenan \n",
"20 021 Clonegall \n",
"21 022 Corries \n",
"22 023 Cranemore \n",
"23 024 Fennagh \n",
"24 025 Garryhill \n",
"25 026 Grangeford \n",
"26 027 Johnstown \n",
"27 028 Kellistown \n",
"28 029 Kilbride \n",
"29 030 Killedmond \n",
"... ... \n",
"2420 062 Kilcockan \n",
"2421 063 Kilwatermoy East \n",
"2422 064 Kilwatermoy West \n",
"2423 065 Lismore Rural \n",
"2424 066 Lismore Urban \n",
"2425 067 Mocollop \n",
"2426 068 Modelligo \n",
"2427 069 Tallow \n",
"2428 071 Drumcannon \n",
"2429 072 Faithlegg (part) \n",
"2430 073 Islandikane \n",
"2431 075 Killea \n",
"2432 076 Killoteran \n",
"2433 077 Kilmacleague \n",
"2434 078 Kilmeadan \n",
"2435 079 Newcastle \n",
"2436 080 Pembrokestown \n",
"2437 081 Rathmoylan \n",
"2438 082 Reisk \n",
"2439 083 Tramore \n",
"2440 084 Woodstown \n",
"2441 085 Ardmore \n",
"2442 086 Ballyheeny \n",
"2443 087 Clashmore \n",
"2444 088 Glenwilliam \n",
"2445 089 Grallagh \n",
"2446 090 Grange \n",
"2447 091 Kinsalebeg \n",
"2448 092 Templemichael \n",
"3403 701 Ballynakill (part)(070)/Kilbarry (part)(074) \n",
"\n",
" Ability_To_Speak_Irish_Yes_2006 Ability_To_Speak_Irish_Yes_2011 \n",
"0 1475 1227 \n",
"1 429 390 \n",
"2 226 230 \n",
"3 368 349 \n",
"4 109 109 \n",
"5 115 125 \n",
"6 191 251 \n",
"7 271 294 \n",
"8 95 104 \n",
"9 95 115 \n",
"10 120 147 \n",
"11 464 455 \n",
"12 186 217 \n",
"13 212 274 \n",
"14 147 161 \n",
"15 92 126 \n",
"16 353 347 \n",
"17 154 208 \n",
"18 5146 5410 \n",
"19 295 404 \n",
"20 323 392 \n",
"21 179 173 \n",
"22 349 360 \n",
"23 186 256 \n",
"24 197 216 \n",
"25 121 143 \n",
"26 243 283 \n",
"27 451 413 \n",
"28 138 171 \n",
"29 154 169 \n",
"... ... ... \n",
"2420 79 66 \n",
"2421 45 37 \n",
"2422 64 72 \n",
"2423 450 493 \n",
"2424 316 296 \n",
"2425 123 118 \n",
"2426 137 152 \n",
"2427 489 492 \n",
"2428 153 167 \n",
"2429 779 967 \n",
"2430 899 1012 \n",
"2431 494 563 \n",
"2432 290 288 \n",
"2433 156 197 \n",
"2434 372 346 \n",
"2435 210 225 \n",
"2436 222 234 \n",
"2437 415 447 \n",
"2438 439 517 \n",
"2439 3628 4078 \n",
"2440 253 289 \n",
"2441 297 305 \n",
"2442 222 236 \n",
"2443 186 167 \n",
"2444 83 91 \n",
"2445 86 102 \n",
"2446 110 137 \n",
"2447 190 185 \n",
"2448 161 176 \n",
"3403 222 252 \n",
"\n",
"[2065 rows x 3 columns]"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"subset"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 0, 0, ..., 0, 0, 0], dtype=int32)"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Discard label column\n",
"subset_data=subset.iloc[:, 1:]\n",
"#Run clustering\n",
"kmeans = KMeans(n_clusters=4).fit(subset_data)\n",
"y_kmeans = kmeans.predict(subset_data)\n",
"y_kmeans"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Draw graph\n",
"plt.scatter(subset_data.iloc[:,0], subset_data.iloc[:,1], c=y_kmeans, s=50, cmap='viridis')\n",
"centers = kmeans.cluster_centers_\n",
"plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5);\n"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>col_0</th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" </tr>\n",
" <tr>\n",
" <th>ED_NAME</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>001 Abbey A</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Abbeyville</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Airport</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Arklow No. 1 Urban</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Arran Quay A</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Athy East Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Ballinascorney</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Ballinlough A</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Ballinteer-Broadford</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Ballybeg North</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Carlow Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Ceannanus Mór (Kells) Urban</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Clonakilty Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Dungarvan No. 1 Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Ennis No. 1 Urban</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Enniscorthy Urban</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Kilkenny No. 1 Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Killarney Urban</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>001 Nenagh East Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Abbey B</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Adare North</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Arklow No. 2 Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Arran Quay B</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Athy West Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Balbriggan Rural</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Ballinlough B</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Ballinteer-Ludford</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Ballyboden</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Cobh Urban</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>002 Dungarvan No. 2 Urban</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>302 Killeenleagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>303 Knockskagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>304 Myross</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>305 Shreelane</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>306 Skibbereen Rural</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>307 Tullagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>308 Woodfort</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>309 Ballybane</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>310 Ballydehob</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>311 Coolagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>312 Crookhaven</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>313 Dunbeacon</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>314 Dunmanus</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>315 Goleen</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>316 Kilcoe</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>317 Lowertown</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>318 Skull</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>319 Toormore</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>320 Ardagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>321 Clonpriest</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>322 Kilcronat</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>323 Killeagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>324 Kilmacdonogh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>325 Youghal Rural</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>701 002/006 Ballybeg South/Ballynaneashagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>701 020/017 Glenroe/Ballyeighter</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>701 033/046 Bantry Rural/Whiddy</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>701 037/045 Greenhall/Lackagh</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>701 Ballynakill (part)(070)/Kilbarry (part)(074)</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>702 132/133 Inishcaltra North/Inishcaltra South</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2065 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
"col_0 0 1 2 3\n",
"ED_NAME \n",
"001 Abbey A 0 1 0 0\n",
"001 Abbeyville 1 0 0 0\n",
"001 Airport 1 0 0 0\n",
"001 Arklow No. 1 Urban 0 0 0 1\n",
"001 Arran Quay A 1 0 0 0\n",
"001 Athy East Urban 0 1 0 0\n",
"001 Ballinascorney 1 0 0 0\n",
"001 Ballinlough A 1 0 0 0\n",
"001 Ballinteer-Broadford 0 1 0 0\n",
"001 Ballybeg North 0 1 0 0\n",
"001 Carlow Urban 0 1 0 0\n",
"001 Ceannanus Mór (Kells) Urban 1 0 0 0\n",
"001 Clonakilty Urban 0 1 0 0\n",
"001 Dungarvan No. 1 Urban 0 1 0 0\n",
"001 Ennis No. 1 Urban 1 0 0 0\n",
"001 Enniscorthy Urban 1 0 0 0\n",
"001 Kilkenny No. 1 Urban 0 1 0 0\n",
"001 Killarney Urban 0 0 0 1\n",
"001 Nenagh East Urban 0 1 0 0\n",
"002 Abbey B 0 1 0 0\n",
"002 Adare North 1 0 0 0\n",
"002 Arklow No. 2 Urban 0 1 0 0\n",
"002 Arran Quay B 0 1 0 0\n",
"002 Athy West Urban 0 1 0 0\n",
"002 Balbriggan Rural 0 0 0 1\n",
"002 Ballinlough B 0 1 0 0\n",
"002 Ballinteer-Ludford 0 1 0 0\n",
"002 Ballyboden 0 0 0 1\n",
"002 Cobh Urban 0 0 0 1\n",
"002 Dungarvan No. 2 Urban 0 1 0 0\n",
"... .. .. .. ..\n",
"302 Killeenleagh 1 0 0 0\n",
"303 Knockskagh 1 0 0 0\n",
"304 Myross 1 0 0 0\n",
"305 Shreelane 1 0 0 0\n",
"306 Skibbereen Rural 1 0 0 0\n",
"307 Tullagh 1 0 0 0\n",
"308 Woodfort 1 0 0 0\n",
"309 Ballybane 1 0 0 0\n",
"310 Ballydehob 1 0 0 0\n",
"311 Coolagh 1 0 0 0\n",
"312 Crookhaven 1 0 0 0\n",
"313 Dunbeacon 1 0 0 0\n",
"314 Dunmanus 1 0 0 0\n",
"315 Goleen 1 0 0 0\n",
"316 Kilcoe 1 0 0 0\n",
"317 Lowertown 1 0 0 0\n",
"318 Skull 1 0 0 0\n",
"319 Toormore 1 0 0 0\n",
"320 Ardagh 1 0 0 0\n",
"321 Clonpriest 1 0 0 0\n",
"322 Kilcronat 1 0 0 0\n",
"323 Killeagh 1 0 0 0\n",
"324 Kilmacdonogh 1 0 0 0\n",
"325 Youghal Rural 1 0 0 0\n",
"701 002/006 Ballybeg South/Ballynaneashagh 1 0 0 0\n",
"701 020/017 Glenroe/Ballyeighter 1 0 0 0\n",
"701 033/046 Bantry Rural/Whiddy 1 0 0 0\n",
"701 037/045 Greenhall/Lackagh 1 0 0 0\n",
"701 Ballynakill (part)(070)/Kilbarry (part)(074) 1 0 0 0\n",
"702 132/133 Inishcaltra North/Inishcaltra South 1 0 0 0\n",
"\n",
"[2065 rows x 4 columns]"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result = pd.crosstab(subset.iloc[:,0], y_kmeans)\n",
"result"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
import pandas as pd
import io
import requests
from sklearn.cluster import KMeans
#Download datasets
url = "https://gist.githubusercontent.com/digitalWestie/b68b86cae1d893d4d3d3b01aca59be8d/raw/28908e0d394802181762dc7429f67c0f79fb9fad/Make%2520Model%2520Data%25202016-edited.csv"
s=requests.get(url).content
dataset=pd.read_csv(io.StringIO(s.decode('windows-1252')))
dataset.iloc[:3,:]
# Only include specified columns:
subset = dataset.loc[:, ['Label', 'Engine, Noise and Exhaust %', 'Chassis and Body %']]
subset
#Discard label columns (we only want to feed numeric values to algorithm)
subset_data=subset.iloc[:, 1:]
#Run clustering (4 clusters)
kmeans = KMeans(n_clusters=4).fit(subset_data)
y_kmeans = kmeans.predict(subset_data)
y_kmeans
#Draw graph of cluster
from matplotlib import pyplot as plt
plt.scatter(subset_data.iloc[:,0], subset_data.iloc[:,1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5);
#Combine labels with groups
result = pd.crosstab(subset.iloc[:,0], y_kmeans)
result
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment