Aerosoli-työpajan ohjeet#
(Työpajan kesto noin 2 x 75 min)#
Tässä harjoituksessa hyödynnetään Python-ohjelmointia, mutta mitään taustatietoa ohjelmoinnista ei tarvita.
Työpajan idea
Tässä työpajassa tutustutaan aerosoli-tutkimukseen siten, että pienissä opiskelijaryhmissä keskitytään tarkastelemaan yhtä tutkimuskysymystä. Tavoitteena on, että opiskelijaryhmät saavat muodostettua kuvaajan, joka vastaa heidän valitsemaansa tutkimuskysymykseen. Opiskelijat voivat sen lisäksi pohtia, mistä mahdolliset muutokset ja eroavaisuudet johtuvat, sekä etsiä kevyesti tietoa asiasta kuvaajan/tutkimuksen ympärille.
Opiskelija – ennen kuin aloitat itsenäisen työskentelyn ryhmäsi kanssa, varmistathan että osaat seuraavat asiat:
Luoda uusia koodi- ja tekstisoluja, sekä muokata vanhoja.
Ajaa koodi- ja tekstisolut.
Luoda uuden tiedoston, tallentaa sen ja avata sen uudelleen.
Kaikki nämä asiat käydään läpi tässä ohjeessa.
1. Notebookien kanssa tutuksi#
Tässä on tilaa opiskella Notebookien perustyökalujen käyttö, eli koodi- ja tekstisolujen hallinta.
Tämä tässä on tekstisolu! Tuplaklikkaamalla pääset muokkaustilaan – voisit kokeilla kirjoittaa tähän jotakin omia höpinöitä. Ylhäällä oleva Run-painike tai Control+Enter ajaa tämän solun.
# Tässä alla taas on koodisolu. Risuaidan avulla voit kirjoittaa koodisoluihin kommentteja.
# Kokeillaan laskea jotakin! Kun olet kirjoittanut laskun alle, voit ajaa solun ja nähdä vastauksen.
# Huomaathan, että koodisolua klikkaamalla voit saada kehykset ## vihreäksi ## – silloin kyseinen solu on valittu
# muokattavaksi tai ajettavaksi.
7+88
95
2. Aikataulu ja tehtävänanto#
2.1 AIKATAULU
Oppitunti 1
15 min – Mitä ovat aerosolit?
20 min – Jupyter Notebook tutuksi, tehtävänanto ja esimerkin läpikäyminen
20 min – Ryhmiin jakautuminen ja tutkimuskysymyksen valinta
20 min – Oman työn aloitus, tavoitteena datasetin käyttöönotto omalla pohjalla
Oppitunti 2
15 min – Ohjeistus työskentelyyn
50 min – Datan valmistelu ja kuvaajan muodostaminen
05 min – Harjoituksen tallennus pdf-tiedostoksi
05 min – Työpajan lopetus
2.2 TYÖVAIHEET
2.3 UUDEN TIEDOSTON AVAUS JA TALLENNUS
Tehtävän avaaminen MyBinderissa
Klikkaa oikealla yläkulmassa olevaa rakettipainiketta –> MyBinder
Lataus voi kestää muutaman minuutin
Uusi tiedosto:
Avaa MyBinder
File –> New Notebook
Muista tallentaa säännöllisesti (Save and Checkpoint)
Tiedoston tallennus omalle koneelle
File –> Download as –> Notebook (.ipynp)
Tiedoston avaus uudelleen
Avaa mikä tahansa Notebook MyBinderissa
File –> Open
Upload ja valitse haluamasi tiedosto.
Avaa tiedosto ja voit jatkaa muokkaamista.
3. Esimerkki#
Käytetään esimerkkinä datasettiä, joka kertoo Maan läheisyydessä havaittujen asteroidien lukumäärät 1900-luvulta lähtien.
# Ladataan halutut tietokirjastot käyttöön.
# Tietokirjastot sisältävät erilaisia työkaluja, esimerkiksi taulukoiden käsittelyyn, kuvaajien piirtämiseen jne.
# Nämä alla olevat kirjastot ovat kaikki mitä tarvitsette.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Ladataan data ja tallennetaan se muuttujaan 'asteroidit'.
# .head()-komennolla kurkataan datasetin sisälle.
asteroidit = pd.read_csv('https://raw.githubusercontent.com/opendata-education/Tyopajat/main/materiaali/data/near-earth-asteroids-discovered-over-time.csv')
asteroidit.head()
Entity | Code | Year | smaller_than_140m | between_140m_and_1km | larger_than_1km | |
---|---|---|---|---|---|---|
0 | World | OWID_WRL | 1900 | 0 | 0 | 1 |
1 | World | OWID_WRL | 1910 | 0 | 0 | 1 |
2 | World | OWID_WRL | 1920 | 0 | 0 | 3 |
3 | World | OWID_WRL | 1930 | 0 | 0 | 5 |
4 | World | OWID_WRL | 1940 | 0 | 1 | 8 |
# Valmistellaan x-akselin tiedot, tässä tapauksessa poimitaan vuosiluvut 'Year'-sarakkeesta muuttujaan 'vuodet'.
# Hakasulkeisiin tulee suoraan datatiedoston sen sarakkeen nimi, jonka tiedot haluat tallentaa käyttöön.
vuodet = asteroidit['Year']
vuodet
0 1900
1 1910
2 1920
3 1930
4 1940
5 1950
6 1960
7 1970
8 1980
9 1990
10 2000
11 2001
12 2002
13 2003
14 2004
15 2005
16 2006
17 2007
18 2008
19 2009
20 2010
21 2011
22 2012
23 2013
24 2014
25 2015
26 2016
27 2017
28 2018
29 2019
30 2020
31 2021
Name: Year, dtype: int64
# Valmistellaan y-akselin tiedot. Valitaan tarkasteluun pienten asteroidien lukumäärä.
pienet = asteroidit['smaller_than_140m']
# Muodostetaan kuvaaja plt.plot(x,y)-komennon avulla.
plt.plot(vuodet, pienet)
plt.title('Otsikko')
plt.xlabel('x-akselin nimi')
plt.ylabel('y-akselin nimi')
plt.show()
Osalla teistä voi olla tarvetta piirtää kaksi viivaa samaan kuvaajaan. Tässä tapauksessa x-akselin arvot pysyvät samana, mutta tarvitaan kaksi kappaletta y-akselille valmisteltuja arvoja. Kun se on tehty, voidaan piirtää vain molemmat viivat samaan kuvaajaan tällä tavalla:
# Valmistellaan toisen y-akselille tulevan muuttujan arvot
isot = asteroidit['larger_than_1km']
# Ja piirretään molemmat viivat. Tässä tapauksessa on tärkeää lisätä 'label'-osio, että osataan erottaa
# viivat toisistaan.
plt.plot(vuodet, pienet, color='blue', label='Pienet')
plt.plot(vuodet, isot, color = 'green', label='Isot')
plt.title('Otsikko')
plt.xlabel('x-akselin nimi')
plt.ylabel('y-akselin nimi')
plt.legend() # Tulostaa viivojen nimet
plt.show()