{
"cells": [
{
"cell_type": "markdown",
"id": "62d5a33e",
"metadata": {},
"source": [
"# 💻 Reklassifisering av data\n",
"\n",
"[](https://colab.research.google.com/github/GMGI221-2024/forelesninger/blob/main/06_reklassifisering.ipynb)\n",
"\n",
"Reklassifisering av data basert på spesifikke kriterier er en vanlig oppgave når man utfører GIS\n",
"analyse. Formålet med denne notebooken er å se hvordan vi kan reklassifisere verdier\n",
"basert på noen kriterier. Man kunne for eksempel klassifisere informasjon basert på\n",
"reisetider og boligpriser ved hjelp av disse kriteriene:\n",
"\n",
"1. Hvis reisetiden til jobben min er mindre enn 30 minutter, **OG**\n",
"2. husleien for leiligheten er mindre enn 10000 kr per måned\n",
"\n",
"Hvis begge kriteriene er oppfylt: Jeg går for å se leiligheten og prøver å leie den\n",
"Hvis ikke: Jeg fortsetter å lete etter noe annet\n",
"\n",
"\n",
"I denne opplæringen vil vi:\n",
"\n",
"1. Bruk klassifiseringsskjemaer fra PySAL [mapclassify\n",
" bibliotek](https://pysal.org/mapclassify/) for å klassifisere befolkningstall til\n",
" flere klasser.\n",
"\n",
"2. Opprett en egendefinert klassifisering for å klassifisere og benytte den\n",
"\n",
"\n",
"## Inputdata\n",
"\n",
"Vi vil bruke befolkningsdata fra [SSB](https://kart.ssb.no/) for Oslo, som inneholder 2380 celler for Oslo kommune."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "db569794",
"metadata": {},
"outputs": [],
"source": [
"import pathlib \n",
"NOTEBOOK_PATH = pathlib.Path().resolve()\n",
"DATA_MAPPE = NOTEBOOK_PATH / \"data\""
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "cc34b2cc-932b-46a9-9f9e-646610fb7643",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
fid
\n",
"
ru250m
\n",
"
pop_tot
\n",
"
geometry
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1.0
\n",
"
2.263751e+13
\n",
"
14
\n",
"
POLYGON ((264000.000 6643000.000, 263750.000 6...
\n",
"
\n",
"
\n",
"
1
\n",
"
2.0
\n",
"
2.264001e+13
\n",
"
177
\n",
"
POLYGON ((264250.000 6643000.000, 264000.000 6...
\n",
"
\n",
"
\n",
"
2
\n",
"
3.0
\n",
"
2.264251e+13
\n",
"
169
\n",
"
POLYGON ((264500.000 6643000.000, 264250.000 6...
\n",
"
\n",
"
\n",
"
3
\n",
"
4.0
\n",
"
2.264501e+13
\n",
"
261
\n",
"
POLYGON ((264750.000 6643000.000, 264500.000 6...
\n",
"
\n",
"
\n",
"
4
\n",
"
5.0
\n",
"
2.264751e+13
\n",
"
106
\n",
"
POLYGON ((265000.000 6643000.000, 264750.000 6...
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" fid ru250m pop_tot \\\n",
"0 1.0 2.263751e+13 14 \n",
"1 2.0 2.264001e+13 177 \n",
"2 3.0 2.264251e+13 169 \n",
"3 4.0 2.264501e+13 261 \n",
"4 5.0 2.264751e+13 106 \n",
"\n",
" geometry \n",
"0 POLYGON ((264000.000 6643000.000, 263750.000 6... \n",
"1 POLYGON ((264250.000 6643000.000, 264000.000 6... \n",
"2 POLYGON ((264500.000 6643000.000, 264250.000 6... \n",
"3 POLYGON ((264750.000 6643000.000, 264500.000 6... \n",
"4 POLYGON ((265000.000 6643000.000, 264750.000 6... "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import geopandas\n",
"\n",
"rutenett = geopandas.read_file(DATA_MAPPE / \"ssb_rutenett\" / \"befolkning_250m_2023_oslo.shp\")\n",
"\n",
"rutenett.head()"
]
},
{
"cell_type": "markdown",
"id": "6e83115b",
"metadata": {},
"source": [
"## Vanlige klassifiseringer\n",
"\n",
"### Klassifiseringsskjemaer for tematiske kart\n",
"\n",
"[PySAL](https://pysal.org/) -modulen er et omfattende Python-bibliotek for romlig\n",
"analyse. Det inkluderer også alle de vanligste dataklassifiseringene som er\n",
"brukt vanlig f.eks. når man visualiserer data. Tilgjengelige kartklassifiseringer i [pysal's\n",
"mapclassify -modul](https://github.com/pysal/mapclassify):\n",
"\n",
"- Box Plot\n",
"- Equal Interval\n",
"- Fisher Jenks\n",
"- Fisher Jenks Sampled\n",
"- HeadTail Breaks\n",
"- Jenks Caspall\n",
"- Jenks Caspall Forced\n",
"- Jenks Caspall Sampled\n",
"- Max P Classifier\n",
"- Maximum Breaks\n",
"- Natural Breaks\n",
"- Quantiles\n",
"- Percentiles\n",
"- Std Mean\n",
"- User Defined\n",
"\n",
"\n",
"\n",
"**NoData-verdiene presenteres med verdi -1**. \n",
"Derfor må vi først fjerne No Data-verdiene."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b2dbb165",
"metadata": {},
"outputs": [],
"source": [
"# Inkluder bare data som er over eller lik 0\n",
"rutenett = rutenett.loc[rutenett[\"pop_tot\"] >=0]"
]
},
{
"cell_type": "markdown",
"id": "9e56ed55",
"metadata": {},
"source": [
"La oss plotte dataene og se hvordan det ser ut\n",
"- `cmap` parameter definerer fargekartet. Les mer om [valg av fargekart i matplotlib](https://matplotlib.org/3.1.0/tutorials/colors/colormaps.html)\n",
"- `scheme` alternativ skalerer fargene i henhold til et klassifiseringsskjema (krever at `mapclassify` modulen er installert):"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "fb540ac0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plott ved hjelp av 9 klasser og klassifiser verdiene ved hjelp av \"Natural Breaks\" klassifisering\n",
"rutenett.plot(column=\"pop_tot\", scheme=\"Natural_Breaks\", k=9, cmap=\"RdYlBu\", linewidth=0, legend=True, aspect=1)"
]
},
{
"cell_type": "markdown",
"id": "0f6591cc",
"metadata": {},
"source": [
"Som vi kan se fra dette kartet, er befolkningen større i sentrum, men det er også noen områder med få beboere i noen andre områder (hvor fargen er rød)."
]
},
{
"cell_type": "markdown",
"id": "2c710848",
"metadata": {},
"source": [
"### Bruk av klassifiseringer på data\n",
"\n",
"Som nevnt, definerer `scheme` alternativet klassifiseringsskjemaet ved hjelp av\n",
"`pysal/mapclassify`. La oss se nærmere på hvordan disse klassifiseringene fungerer."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "0b50da15",
"metadata": {},
"outputs": [],
"source": [
"import mapclassify"
]
},
{
"cell_type": "markdown",
"id": "b889e486",
"metadata": {},
"source": [
"#### Natural Breaks"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "a92c8e76",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"NaturalBreaks\n",
"\n",
" Interval Count\n",
"--------------------------\n",
"[ 1.00, 82.00] | 675\n",
"( 82.00, 198.00] | 461\n",
"( 198.00, 313.00] | 515\n",
"( 313.00, 461.00] | 283\n",
"( 461.00, 654.00] | 182\n",
"( 654.00, 896.00] | 100\n",
"( 896.00, 1212.00] | 81\n",
"(1212.00, 1618.00] | 58\n",
"(1618.00, 2351.00] | 25"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mapclassify.NaturalBreaks(y=rutenett[\"pop_tot\"], k=9)"
]
},
{
"cell_type": "markdown",
"id": "d4ca8389",
"metadata": {},
"source": [
"#### Quantiles (standard er 5 klasser):"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "b397080f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Quantiles\n",
"\n",
" Interval Count\n",
"--------------------------\n",
"[ 1.00, 31.00] | 480\n",
"( 31.00, 160.00] | 476\n",
"( 160.00, 262.00] | 476\n",
"( 262.00, 433.20] | 472\n",
"( 433.20, 2351.00] | 476"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mapclassify.Quantiles(y=rutenett[\"pop_tot\"])"
]
},
{
"cell_type": "markdown",
"id": "db2659d8",
"metadata": {},
"source": [
"#### Trekk ut terskelverdiene\n",
"\n",
"Det er mulig å trekke ut terskelverdiene i en matrise:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "4b37a2b2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 83., 198., 315., 462., 658., 896., 1212., 1618., 2351.])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"klassifiserer = mapclassify.NaturalBreaks(y=rutenett[\"pop_tot\"], k=9)\n",
"klassifiserer.bins"
]
},
{
"cell_type": "markdown",
"id": "7ddfcc8e",
"metadata": {},
"source": [
"La oss bruke en av `Pysal` klassifiseringene på dataene våre og klassifisere\n",
"befolkningen til 9 klasser\n",
"Klassifiseringen må først initialiseres med `make()` funksjonen som tar\n",
"antall ønskede klasser som inngangsparameter"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "a147e645",
"metadata": {},
"outputs": [],
"source": [
"# Lag en Natural Breaks klassifisering\n",
"klassifiserer = mapclassify.NaturalBreaks.make(k=9)"
]
},
{
"cell_type": "markdown",
"id": "bc94ef05",
"metadata": {},
"source": [
"- Nå kan vi bruke klassifiseringen på dataene våre ved å bruke `apply` -funksjonen"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a3ce4f0c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
pop_tot
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
\n",
"
\n",
"
2
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
2
\n",
"
\n",
"
\n",
"
4
\n",
"
1
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" pop_tot\n",
"0 0\n",
"1 1\n",
"2 1\n",
"3 2\n",
"4 1"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Klassifiser dataene\n",
"klassifiseringer = rutenett[[\"pop_tot\"]].apply(klassifiserer)\n",
"\n",
"# La oss se hva vi har\n",
"klassifiseringer.head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0bce101c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"pandas.core.frame.DataFrame"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(klassifiseringer)"
]
},
{
"cell_type": "markdown",
"id": "8c37942d",
"metadata": {},
"source": [
"Ok, så nå har vi en DataFrame der inngangskolonnen vår ble klassifisert til 9\n",
"forskjellige klasser (tallene 1-9) basert på [Natural Breaks\n",
"klassifisering](http://wiki-1-1930356585.us-east-1.elb.amazonaws.com/wiki/index.php/Jenks_Natural_Breaks_Classification).\n",
"\n",
"Vi kan også legge til klassifiseringsverdiene direkte i en ny kolonne i vår dataframe:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "1cfa98aa",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
pop_tot
\n",
"
nb_pop_tot
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
14
\n",
"
0
\n",
"
\n",
"
\n",
"
1
\n",
"
177
\n",
"
1
\n",
"
\n",
"
\n",
"
2
\n",
"
169
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
261
\n",
"
2
\n",
"
\n",
"
\n",
"
4
\n",
"
106
\n",
"
1
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" pop_tot nb_pop_tot\n",
"0 14 0\n",
"1 177 1\n",
"2 169 1\n",
"3 261 2\n",
"4 106 1"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Gi nytt navn til kolonnen så vi vet at den ble klassifisert med naturlige brudd\n",
"rutenett[\"nb_pop_tot\"] = rutenett[[\"pop_tot\"]].apply(klassifiserer)\n",
"\n",
"# Sjekk de opprinnelige verdiene og klassifiseringen\n",
"rutenett[[\"pop_tot\", \"nb_pop_tot\"]].head()"
]
},
{
"cell_type": "markdown",
"id": "ca2305e5",
"metadata": {},
"source": [
"Flott, nå har vi disse verdiene i GeoDataFramen. La oss\n",
"visualisere resultatene og se hvordan de ser ut."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "32c53729",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plott\n",
"rutenett.plot(column=\"nb_pop_tot\", linewidth=0, legend=True)"
]
},
{
"cell_type": "markdown",
"id": "d12dc8a1",
"metadata": {},
"source": [
"Og her går vi, nå har vi et kart der vi har brukt en av de vanlige\n",
"klassifiseringene for å klassifisere dataene våre i 9 klasser.\n",
"\n",
"\n",
"## Plott et histogram\n",
"\n",
"Et histogram er en grafisk representasjon av datafordelingen. NÃ¥r\n",
"man klassifiserer data, er det alltid bra å vurdere hvordan dataene er fordelt,\n",
"og hvordan klassifiseringsskjemaet deler verdier i forskjellige områder.\n",
"\n",
"- plott histogrammet ved hjelp av [pandas.DataFrame.plot.hist](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.plot.hist.html)\n",
"- Antall histogrambinner (grupper av data) kan kontrolleres ved hjelp av parameteren `bins`:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "70708402",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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3XWXtmzZoq+++ircPQEAAIRNSGHngw8+0Pe//32VlZXJ5XJp3rx5+t3vfhfu3gAAAPospLCTm5urqqoqffrpp9q4caO8Xq9uv/12jR49WlVVVfrjH/8Y7j4BAABC0qcFyrGxsXrooYf0q1/9Sj/72c/08ccfq7y8XMOHD9cjjzwij8cTrj4BAABC0qew895772nBggUaNmyYqqqqVF5ero8//lh79uzRp59+qgceeCBcfQIAAIQkNpQ7VVVVaePGjTp27Jjuu+8+bd68Wffdd59uuOHr7JSdna0XXnhB3/3ud8PaLAAAwLUKKew899xzevzxx/XYY4/J5XJdsmbEiBHasGFDn5oDAADoq5DCzvHjx69YEx8frzlz5oTy8AAAAGET0pqdjRs36rXXXuu1/7XXXtOmTZv63BQAAEC4hBR2Vq1apfT09F77MzIyVFFR0eemAAAAwiWksHPy5EllZ2f32j9y5EidOnWqz00BAACES0hhJyMjQx9++GGv/R988IHS0tL63BQAAEC4hBR2Hn74Yf393/+99u7dq+7ubnV3d2vPnj1avHixHn744XD3CAAAELKQrsZ6+umndfLkSU2cOFGxsV8/RE9Pjx555BHW7AAAgKgSUtiJj4/Xq6++qn/5l3/RBx98oMTEROXl5WnkyJHh7g8AAKBPQgo7F4waNUqjRo0KVy8AAABhF1LY6e7uVnV1tX7729+qublZPT09Qcf37NkTluYAAAD6KqSws3jxYlVXV2vKlCnKzc2Vw+EId18AAABhEVLYqamp0a9+9Svdd9994e4HAAAgrEK69Dw+Pl4333xzuHsBAAAIu5DCTllZmX7+85/LGNOnJ3/uued0yy23KCUlRSkpKRo3bpzefPPNwHFjjFauXCm3263ExERNmDBBR48eDXoMv9+vRYsWKT09XUlJSZo6daqampr61BcAALBHSB9j7du3T3v37tWbb76p0aNHKy4uLuj4tm3brupxhg8frlWrVgVmiTZt2qQHHnhABw8e1OjRo7V69WpVVVWpurpao0aN0tNPP62ioiIdO3ZMycnJkqTS0lL953/+p2pqapSWlqaysjKVlJSooaFBMTExoZweAACwiMOEMD3z2GOPfePxjRs3htxQamqq1qxZo8cff1xut1ulpaX6h3/4B0lfz+JkZmbqZz/7mebNmyefz6cbb7xRL7/8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f/u3am5uDhxj/MPH5/NJklJTUyXx+h9sCDv94PPPP1d3d3evHyLNzMzs9YOluDYFBQXavHmz3nrrLb300kvyer0qLCzU2bNnA2P7TePu9XoVHx+voUOHXrYGVydc4+31epWRkdHr8TMyMvibXMHkyZP1b//2b9qzZ4+eeeYZHThwQHfffbf8fr8kxj9cjDFasmSJbr/9duXm5kri9T/YWPFzEdHK4XAE3TbG9NqHazN58uTAP+fl5WncuHH69re/rU2bNgUWZoYy7vxtQheO8b5UPX+TK5sxY0bgn3NzczV27FiNHDlSO3bs0LRp0y57P8b/2ixcuFAffvih9u3b1+sYr//BgZmdfpCenq6YmJheqby5ubnX/wWgb5KSkpSXl6fjx48Hrsr6pnF3uVzq7OxUS0vLZWtwdcI13i6XS5999lmvx//jH//I3+QaDRs2TCNHjtTx48clMf7hsGjRIr3++uvau3evhg8fHtjP639wIez0g/j4eOXn56u2tjZof21trQoLCyPUlZ38fr9+//vfa9iwYcrOzpbL5Qoa987OTtXV1QXGPT8/X3FxcUE1Ho9HR44c4W9zjcI13uPGjZPP59Pvfve7QM3//M//yOfz8Te5RmfPntXp06c1bNgwSYx/XxhjtHDhQm3btk179uxRdnZ20HFe/4NMRJZFXwdqampMXFyc2bBhg/noo49MaWmpSUpKMidOnIh0a4NaWVmZefvtt80nn3xi9u/fb0pKSkxycnJgXFetWmWcTqfZtm2bOXz4sPnxj39shg0bZlpbWwOPMX/+fDN8+HCze/du8/7775u7777bjBkzxpw/fz5SpxW12trazMGDB83BgweNJFNVVWUOHjxoTp48aYwJ33jfe++95pZbbjHvvvuueffdd01eXp4pKSkZ8PONNt80/m1tbaasrMzU19ebxsZGs3fvXjNu3DjzF3/xF4x/GPzd3/2dcTqd5u233zYejyewffnll4EaXv+DB2GnH/3yl780I0eONPHx8ebWW28NXLKI0M2YMcMMGzbMxMXFGbfbbaZNm2aOHj0aON7T02OefPJJ43K5TEJCgrnzzjvN4cOHgx6jo6PDLFy40KSmpprExERTUlJiTp06NdCnMijs3bvXSOq1zZkzxxgTvvE+e/asmTVrlklOTjbJyclm1qxZpqWlZYDOMnp90/h/+eWXpri42Nx4440mLi7OjBgxwsyZM6fX2DL+obnUuEsyGzduDNTw+h88HMYYM9CzSQAAAAOFNTsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWO3/AYTYq2000RyJAAAAAElFTkSuQmCC",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Definer klassifiserer\n",
"klassifiserer = mapclassify.Quantiles(y=rutenett['pop_tot'])\n",
"\n",
"# Plott histogram for befolkningsrutenettet\n",
"rutenett[\"pop_tot\"].plot.hist(bins=50)\n",
"\n",
"for break_point in klassifiserer.bins:\n",
" plt.axvline(break_point, color=\"k\", linestyle=\"dashed\", linewidth=1)"
]
},
{
"cell_type": "markdown",
"id": "55516b7f",
"metadata": {},
"source": [
"## Bruke en egendefinert klassifisering\n",
"\n",
"### Multikriterium dataklassifisering\n",
"\n",
"La oss klassifisere geometriene i to klasser basert\n",
"på en gitt `terskel` -parameter. Hvis området til en polygon er lavere enn terskelverdien, vil utgangskolonnen få en verdi\n",
"0, hvis den er større, vil den få en verdi 1. Denne typen klassifisering kalles ofte en [binær\n",
"klassifisering](https://en.wikipedia.org/wiki/Binary_classification).\n",
"\n",
"For å klassifisere hver rad i vår GeoDataFrame kan vi iterere over hver rad, eller vi kan bruke\n",
"en funksjon for hver rad. I vårt tilfelle vil vi bruke en lambda funksjon for hver rad i\n",
"vår GeoDataFrame, som returnerer en verdi basert på de vilkårene vi gir.\n",
"\n",
"La oss klassifisere basert på to kriterier: og finne ut rutenettceller\n",
"\n",
"1. Rutenettceller der befolkningen er **mindre eller lik 50** \n",
"\n",
"2. *og* Rutenettceller der befolkningen er **større eller lik 15** \n",
"\n",
"La oss først se hvordan vi klassifiserer en enkelt rad:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "264281fc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"False"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rutenett.iloc[0][\"pop_tot\"] <= 50 and rutenett.iloc[0][\"pop_tot\"] > 15"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "ef703b73",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"int(rutenett.iloc[2000][\"pop_tot\"] < 50 and rutenett.iloc[2000][\"pop_tot\"] > 15)"
]
},
{
"cell_type": "markdown",
"id": "0fa0c8ae",
"metadata": {},
"source": [
"La oss nå bruke dette på vår GeoDataFrame og lagre det i en kolonne kalt `\"egnet\"`:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "d9109649",
"metadata": {},
"outputs": [],
"source": [
"rutenett[\"egnet\"] = rutenett.apply(lambda row: int(row[\"pop_tot\"] < 50 and row[\"pop_tot\"] > 15), axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "51f1ea50",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"