From 337503dfe71c74ff85f1f4ce8a1a324f60acb420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20H=C3=A4kkinen?= <antti.hakkinen@jamk.fi> Date: Fri, 18 Dec 2020 11:52:39 +0200 Subject: [PATCH] added exercise numbers --- harjoitukset/Harjoitus_1_(Pandas).ipynb | 40 ++++++++++++------------- harjoitukset/Harjoitus_2_(Pandas).ipynb | 24 +++++++-------- harjoitukset/Harjoitus_3_(Rest).ipynb | 18 +++++------ harjoitukset/Harjoitus_4_(SQLite).ipynb | 12 ++++---- harjoitukset/Harjoitus_5_(Regex).ipynb | 18 +++++------ harjoitustyo/harjoitustyo.ipynb | 22 +++++++------- 6 files changed, 67 insertions(+), 67 deletions(-) diff --git a/harjoitukset/Harjoitus_1_(Pandas).ipynb b/harjoitukset/Harjoitus_1_(Pandas).ipynb index 482841b..207e892 100644 --- a/harjoitukset/Harjoitus_1_(Pandas).ipynb +++ b/harjoitukset/Harjoitus_1_(Pandas).ipynb @@ -18,12 +18,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Lisää tarvittavat kirjastot ja lue `testidata.csv` niminen tiedosto DataFrame-objektiin" + "#### Tehtävä 1. Lisää tarvittavat kirjastot ja lue `testidata.csv` niminen tiedosto DataFrame-objektiin" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -34,12 +34,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta DataFrame-objektin viisi viimeistä riviä" + "#### Tehtävä 2. Tulosta DataFrame-objektin viisi viimeistä riviä" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -50,12 +50,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta datan sarakkeiden otsikot list-objektina" + "#### Tehtävä 3. Tulosta datan sarakkeiden otsikot list-objektina" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -66,12 +66,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta `sarake2`:n pituus" + "#### Tehtävä 4. Tulosta `sarake2`:n pituus" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -82,12 +82,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta datan ensimmäinen rivin tiedot" + "#### Tehtävä 5. Tulosta datan ensimmäinen rivin tiedot" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -98,12 +98,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Pudota datasta `Unnamed: 0` niminen sarake ja todenna lopputulos valitsemallasi tavalla" + "#### Tehtävä 6. Pudota datasta `Unnamed: 0` niminen sarake ja todenna lopputulos valitsemallasi tavalla" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -114,12 +114,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Poista rivit, jos sarakkeessa `sarake1` esiintyy arvo 0.2 tai pienempi" + "#### Tehtävä 7. Poista rivit, jos sarakkeessa `sarake1` esiintyy arvo 0.2 tai pienempi" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -130,12 +130,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta `sarake1` sarakkeen minimi- ja maksimiarvo" + "#### Tehtävä 8. Tulosta `sarake1` sarakkeen minimi- ja maksimiarvo" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -146,12 +146,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tee ensimmäisen rivin ensimmäisen sarakkeen arvosta nan" + "#### Tehtävä 9. Tee ensimmäisen rivin ensimmäisen sarakkeen arvosta nan" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -162,12 +162,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tallenna lopputulos data_export.csv-nimiseen tiedostoon (tiedostoa hyödynnetään seuraavassa harjoituksessa)." + "#### Tehtävä 10. Tallenna lopputulos data_export.csv-nimiseen tiedostoon (tiedostoa hyödynnetään seuraavassa harjoituksessa)." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ diff --git a/harjoitukset/Harjoitus_2_(Pandas).ipynb b/harjoitukset/Harjoitus_2_(Pandas).ipynb index 8dd457e..e2caf5e 100644 --- a/harjoitukset/Harjoitus_2_(Pandas).ipynb +++ b/harjoitukset/Harjoitus_2_(Pandas).ipynb @@ -11,7 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Lue edellisen harjoituksen lopussa tallennetun data_export.csv-tiedoston sisältö dataframeen siten, että Unnamed 0 -saraketta ei synny tiedoston lukemisen yhteydessä." + "#### Tehtävä 1. Lue edellisen harjoituksen lopussa tallennetun data_export.csv-tiedoston sisältö dataframeen siten, että Unnamed 0 -saraketta ei synny tiedoston lukemisen yhteydessä." ] }, { @@ -27,7 +27,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Pudota rivit, joissa esiintyy nan-arvo" + "#### Tehtävä 2. Pudota rivit, joissa esiintyy nan-arvo" ] }, { @@ -43,7 +43,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Muuta viidennen ja kymmenennen rivin kaikiksi arvoiksi nan" + "#### Tehtävä 3. Muuta viidennen ja kymmenennen rivin kaikiksi arvoiksi nan" ] }, { @@ -59,7 +59,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta nan-arvojen määrä jokaisesta sarakkeesta DataFrame-objektista" + "#### Tehtävä 4. Tulosta nan-arvojen määrä jokaisesta sarakkeesta DataFrame-objektista" ] }, { @@ -75,7 +75,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Täytä edellä tehdyt nan-arvot lineaarisella interpolaatiolla" + "#### Tehtävä 5. Täytä edellä tehdyt nan-arvot lineaarisella interpolaatiolla" ] }, { @@ -91,7 +91,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Vaihda `sarake1`:n viimeiseksi arvoksi 94 ja `sarake3`:n viimeiseksi arvoksi 45" + "#### Tehtävä 6. Vaihda `sarake1`:n viimeiseksi arvoksi 94 ja `sarake3`:n viimeiseksi arvoksi 45" ] }, { @@ -107,7 +107,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Lisää uusi sarake DataFrame-objektiin (`sarake4`), joka koostuu sarakkeiden `sarake1` ja `sarake3` summasta" + "#### Tehtävä 7. Lisää uusi sarake DataFrame-objektiin (`sarake4`), joka koostuu sarakkeiden `sarake1` ja `sarake3` summasta" ] }, { @@ -123,7 +123,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Resetoi DataFrame-objektin indeksi ja tulosta rivien määrä" + "#### Tehtävä 8. Resetoi DataFrame-objektin indeksi ja tulosta rivien määrä" ] }, { @@ -139,7 +139,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tee DataFrame-objektin mittainen aikasarjadata haluamallasi aikavälillä ja tee siitä indeksisarake" + "#### Tehtävä 9. Tee DataFrame-objektin mittainen aikasarjadata haluamallasi aikavälillä ja tee siitä indeksisarake" ] }, { @@ -155,7 +155,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Muuta `sarake1` kaikki arvot merkkijonoiksi, joissa jokainen nolla on korvattu isolla 'ND'-kirjainyhdistelmällä." + "#### Tehtävä 10. Muuta `sarake1` kaikki arvot merkkijonoiksi, joissa jokainen nolla on korvattu isolla 'ND'-kirjainyhdistelmällä." ] }, { @@ -171,7 +171,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tee DataFrame-objektista kopio, jonka sarakkeiden nimet on muutettu seuraaviksi : `sarake5`, `sarake6`, `sarake7`, `sarake8`. Tämän jälkeen tee yksi iso DataFrame-objekti, joka koostuu alkuperäisestä DataFramesta sekä kopiosta niin, että ne on lisätty vierekkäin.\n", + "#### Tehtävä 11. Tee DataFrame-objektista kopio, jonka sarakkeiden nimet on muutettu seuraaviksi : `sarake5`, `sarake6`, `sarake7`, `sarake8`. Tämän jälkeen tee yksi iso DataFrame-objekti, joka koostuu alkuperäisestä DataFramesta sekä kopiosta niin, että ne on lisätty vierekkäin.\n", "\n", "\n", "| sarake1 | sarake2 | sarake3 | sarake4 | sarake5 | sarake6 | sarake7 | sarake8 |\n", @@ -192,7 +192,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Sijoita `sarake5`:n viimeinen arvo muuttujaan sekä `sarake3`:n viimeinen arvo erilliseen muuttujaan juuri tehdystä DataFrame-objektista merkkijonomuodossa. Yhdistä kyseiset muuttujat merkkijonona ja poista kaksi viimeistä merkkiä lopputuloksesta. Lopuksi poista kaikki pisteet `.`." + "#### Tehtävä 12. Sijoita `sarake5`:n viimeinen arvo muuttujaan sekä `sarake3`:n viimeinen arvo erilliseen muuttujaan juuri tehdystä DataFrame-objektista merkkijonomuodossa. Yhdistä kyseiset muuttujat merkkijonona ja poista kaksi viimeistä merkkiä lopputuloksesta. Lopuksi poista kaikki pisteet `.`." ] }, { diff --git a/harjoitukset/Harjoitus_3_(Rest).ipynb b/harjoitukset/Harjoitus_3_(Rest).ipynb index 0ad9336..1750579 100644 --- a/harjoitukset/Harjoitus_3_(Rest).ipynb +++ b/harjoitukset/Harjoitus_3_(Rest).ipynb @@ -40,7 +40,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Lisää käytettävät kirjastot ja muodosta rajapinnan url-osoite päätteellä `/description/`" + "#### Tehtävä 1. Lisää käytettävät kirjastot ja muodosta rajapinnan url-osoite päätteellä `/description/`" ] }, { @@ -56,7 +56,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tee get-pyyntö osoitteeseen ja varmista, että haku onnistuu ja vastauskoodina on 200" + "#### Tehtävä 2. Tee get-pyyntö osoitteeseen ja varmista, että haku onnistuu ja vastauskoodina on 200" ] }, { @@ -72,7 +72,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tallenna vastaus muuttujaan listana, joiden elementit ovat json-muodossa" + "#### Tehtävä 3. Tallenna vastaus muuttujaan listana, joiden elementit ovat json-muodossa" ] }, { @@ -88,7 +88,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Valitse list-objektista viimeisin json-tietue, jonka `service_id`-avaimen arvo on 10473 (10473 arvoja on kolme) ja sijoita kyseisen json-tietueen `id`-avaimen arvo muuttujaan." + "#### Tehtävä 4. Valitse list-objektista viimeisin json-tietue, jonka `service_id`-avaimen arvo on 10473 (10473 arvoja on kolme) ja sijoita kyseisen json-tietueen `id`-avaimen arvo muuttujaan." ] }, { @@ -104,7 +104,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tee uusi get-pyyntö samaan osoitteeseen kuin aiemmin (myös päätepiste pysyy samana), mutta ota edellisessä kohdassa valittu muuttuja (muuttuja joka sisältää `id`:n arvon) huomioon pyynnössä" + "#### Tehtävä 5. Tee uusi get-pyyntö samaan osoitteeseen kuin aiemmin (myös päätepiste pysyy samana), mutta ota edellisessä kohdassa valittu muuttuja (muuttuja joka sisältää `id`:n arvon) huomioon pyynnössä" ] }, { @@ -120,7 +120,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta vastauksesta `title`-avaimen arvo" + "#### Tehtävä 6. Tulosta vastauksesta `title`-avaimen arvo" ] }, { @@ -150,7 +150,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Hae Digitrafficin rajapinnasta palvelun ohjeiden mukaan tiedot junalle päivältä 06.06.2018, jonka numero on 1" + "#### Tehtävä 7. Hae Digitrafficin rajapinnasta palvelun ohjeiden mukaan tiedot junalle päivältä 06.06.2018, jonka numero on 1" ] }, { @@ -166,7 +166,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Muodosta edellisen tehtävän get-pyynnön tuloksesta DataFrame (koko Junan 1 päivän 06.06.2018 datasta), jos yksikin `scheduledTime`-avaimen arvo on ennen aikaleimaa '2018-06-06T06:00:00.000Z'." + "#### Tehtävä 8. Muodosta edellisen tehtävän get-pyynnön tuloksesta DataFrame (koko Junan 1 päivän 06.06.2018 datasta), jos yksikin `scheduledTime`-avaimen arvo on ennen aikaleimaa '2018-06-06T06:00:00.000Z'." ] }, { @@ -182,7 +182,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tulosta ainoa rivi generoidusta DataFrame-objektista, jos sellainen muodostetaan." + "#### Tehtävä 9. Tulosta ainoa rivi generoidusta DataFrame-objektista, jos sellainen muodostetaan." ] }, { diff --git a/harjoitukset/Harjoitus_4_(SQLite).ipynb b/harjoitukset/Harjoitus_4_(SQLite).ipynb index 6a2cac0..929f361 100644 --- a/harjoitukset/Harjoitus_4_(SQLite).ipynb +++ b/harjoitukset/Harjoitus_4_(SQLite).ipynb @@ -11,7 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Lisää tarvittavat kirjastot ja tee `testi.db` niminen tietokanta (SQLite3)" + "#### Tehtävä 1. Lisää tarvittavat kirjastot ja tee `testi.db` niminen tietokanta (SQLite3)" ] }, { @@ -27,7 +27,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Luo yhteys tietokantaan" + "#### Tehtävä 2. Luo yhteys tietokantaan" ] }, { @@ -43,7 +43,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Tee tietokantaan seuraavanlainen taulu, jonka nimi on `henkilotaulu`:\n", + "#### Tehtävä 3. Tee tietokantaan seuraavanlainen taulu, jonka nimi on `henkilotaulu`:\n", " \n", "| Nimi | Ika | Kengankoko |\n", "| ------------- |-------------| -----|\n", @@ -66,7 +66,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Kun Taulu on tehty, niin hae taulu Pandasin DataFrame-objektiin ja lisää siihen sarake `Hatunkoko`, jonka jälkeen täytä se valitsemillasi arvoilla" + "#### Tehtävä 4. Kun Taulu on tehty, niin hae taulu Pandasin DataFrame-objektiin ja lisää siihen sarake `Hatunkoko`, jonka jälkeen täytä se valitsemillasi arvoilla" ] }, { @@ -82,7 +82,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Tee taulusta kopio, jonka nimi on `henkilotaulukopio` ja lisää siihen rivi valitsemillasi arvoilla" + "#### Tehtävä 5. Tee taulusta kopio, jonka nimi on `henkilotaulukopio` ja lisää siihen rivi valitsemillasi arvoilla" ] }, { @@ -98,7 +98,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Tallenna lopuksi tietokannan muutokset ja sulje yhteys" + "#### Tehtävä 6. Tallenna lopuksi tietokannan muutokset ja sulje yhteys" ] }, { diff --git a/harjoitukset/Harjoitus_5_(Regex).ipynb b/harjoitukset/Harjoitus_5_(Regex).ipynb index a6e1ba5..be7d47c 100644 --- a/harjoitukset/Harjoitus_5_(Regex).ipynb +++ b/harjoitukset/Harjoitus_5_(Regex).ipynb @@ -27,7 +27,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Lisää tarvittavat kirjastot" + "#### Tehtävä 1. Lisää tarvittavat kirjastot" ] }, { @@ -43,7 +43,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Etsi tekstistä kuinka monta kertaa sana `ipsum` esiintyy" + "#### Tehtävä 2. Etsi tekstistä kuinka monta kertaa sana `ipsum` esiintyy" ] }, { @@ -59,7 +59,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Etsi tekstistä kuinka monta kertaa merkkijono (ei siis sana!) `ipsum` esiintyy" + "#### Tehtävä 3. Etsi tekstistä kuinka monta kertaa merkkijono (ei siis sana!) `ipsum` esiintyy" ] }, { @@ -75,7 +75,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Hae tekstistä kaikki sanan `Excepteur` jälkeen (Huom: sanaa Excepteur ei oteta tulla mukaan tulosteeseen!)" + "#### Tehtävä 4. Hae tekstistä kaikki sanan `Excepteur` jälkeen (Huom: sanaa Excepteur ei oteta tulla mukaan tulosteeseen!)" ] }, { @@ -91,7 +91,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Etsi kaikki sanat, jotka ovat sulkujen `()` sisällä" + "#### Tehtävä 5. Etsi kaikki sanat, jotka ovat sulkujen `()` sisällä" ] }, { @@ -107,7 +107,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Valitse kaikki sanat, jotka päättyvät merkkeihin `at`." + "#### Tehtävä 6. Valitse kaikki sanat, jotka päättyvät merkkeihin `at`." ] }, { @@ -123,7 +123,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Etsi sanat, jotka sisältävät merkkijonon `olo`, mutta eivät ala tai pääty kyseisellä merkkijonolla" + "#### Tehtävä 7. Etsi sanat, jotka sisältävät merkkijonon `olo`, mutta eivät ala tai pääty kyseisellä merkkijonolla" ] }, { @@ -139,7 +139,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Etsi seuraava tekstistä kaikki osoitteet, jotka ovat muotoa ip-osoite:porttinumero (esim. 192.168.1.1:8080) ilman staattista hakua tai `r'\\[.*?\\]'`/vastaavaa kaiken hakasulkeiden sisältä palauttavaa syntaksia." + "#### Tehtävä 8. Etsi seuraava tekstistä kaikki osoitteet, jotka ovat muotoa ip-osoite:porttinumero (esim. 192.168.1.1:8080) ilman staattista hakua tai `r'\\[.*?\\]'`/vastaavaa kaiken hakasulkeiden sisältä palauttavaa syntaksia." ] }, { @@ -173,4 +173,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} +} \ No newline at end of file diff --git a/harjoitustyo/harjoitustyo.ipynb b/harjoitustyo/harjoitustyo.ipynb index 1408065..6d0029a 100644 --- a/harjoitustyo/harjoitustyo.ipynb +++ b/harjoitustyo/harjoitustyo.ipynb @@ -11,20 +11,20 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Vaihe 1:" + "## Vaihe 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Hae Digitrafficin REST-rajapintapalvelusta (JSON-formaatissa) aktiiviset junat pääteosoitteella `/live-trains` Helsingin asemalta, joiden hakuparametrit ovat seuraavat:\n", + "#### Tehtävä 1. Hae Digitrafficin REST-rajapintapalvelusta (JSON-formaatissa) aktiiviset junat pääteosoitteella `/live-trains` Helsingin asemalta, joiden hakuparametrit ovat seuraavat:\n", "* arrived_trains=10\n", "* departed_trains=10\n", "* include_nonstopping=False\n", "\n", "\n", - "#### Tämän jälkeen lue kyseinen data Pandasin dataframeen ilman muokkaamista, jolloin sarakkeiden otsikot ovat seuraavanlaiset:\n", + "#### Tehtävä 2. Tämän jälkeen lue kyseinen data Pandasin dataframeen ilman muokkaamista, jolloin sarakkeiden otsikot ovat seuraavanlaiset:\n", "\n", " `cancelled`,\n", " `commuterLineID`,\n", @@ -54,7 +54,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Poista kaikki muut sarakkeet paitsi `timeTableRows` ja `trainNumber`" + "#### Tehtävä 3. Poista kaikki muut sarakkeet paitsi `timeTableRows` ja `trainNumber`" ] }, { @@ -70,7 +70,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Tämän jälkeen pura `timeTableRows` sarakkeen arvot jokaisesta junasta erikseen (sarakkeen arvo jokaiselle junalle sisältää useampia JSON-objekteja) ja lisää dataan mukaan junan tiedot yksilöivä `trainNumber`" + "#### Tehtävä 4. Tämän jälkeen pura `timeTableRows` sarakkeen arvot jokaisesta junasta erikseen (sarakkeen arvo jokaiselle junalle sisältää useampia JSON-objekteja) ja lisää dataan mukaan junan tiedot yksilöivä `trainNumber`" ] }, { @@ -86,7 +86,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Pudota sitten seuraavat sarakkeet datasta: `causes`, `estimateSource`, `liveEstimateTime`, `differenceInMinutes`, `commercialStop` ja `trainReady`" + "#### Tehtävä 5. Pudota sitten seuraavat sarakkeet datasta: `causes`, `estimateSource`, `liveEstimateTime`, `differenceInMinutes`, `commercialStop` ja `trainReady`" ] }, { @@ -102,7 +102,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Täytä jokaisen rivin sarakkeen `actualTime` puuttuvat arvot `scheduledTime` -sarakkeen arvolla." + "#### Tehtävä 6. Täytä jokaisen rivin sarakkeen `actualTime` puuttuvat arvot `scheduledTime` -sarakkeen arvolla." ] }, { @@ -118,9 +118,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Vaihe 2:\n", + "## Vaihe 2\n", "\n", - "#### Pura tämän kansion sisällä olevan `data.html` -tiedoston `table`-elementin solujen arvot käyttäen regex-syntaksia ja yhdistä ne vaiheessa 1 luotuun dataframeen. Huom: tehtävässä tulee käyttää vain regexiä (Esim. Pandasin read_html()-metodin käyttö on kielletty)!" + "#### Tehtävä 7. Pura tämän kansion sisällä olevan `data.html` -tiedoston `table`-elementin solujen arvot käyttäen regex-syntaksia ja yhdistä ne vaiheessa 1 luotuun dataframeen. Huom: tehtävässä tulee käyttää vain regexiä (Esim. Pandasin read_html()-metodin käyttö on kielletty)!" ] }, { @@ -136,9 +136,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Vaihe 3:\n", + "## Vaihe 3\n", "\n", - "#### Tee SQLite tietokanta ja lisää sinne vaiheessa 2 luotu dataframe.\n" + "#### Tehtävä 8. Tee SQLite tietokanta ja lisää sinne vaiheessa 2 luotu dataframe.\n" ] }, { -- GitLab