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:

  1. Luoda uusia koodi- ja tekstisoluja, sekä muokata vanhoja.

  2. Ajaa koodi- ja tekstisolut.

  3. 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

tyovaiheet_kuva

2.3 UUDEN TIEDOSTON AVAUS JA TALLENNUS

Tehtävän avaaminen MyBinderissa

  1. Klikkaa oikealla yläkulmassa olevaa rakettipainiketta –> MyBinder

  2. Lataus voi kestää muutaman minuutin

Uusi tiedosto:

  1. Avaa MyBinder

  2. File –> New Notebook

  3. Muista tallentaa säännöllisesti (Save and Checkpoint)

Tiedoston tallennus omalle koneelle

  1. File –> Download as –> Notebook (.ipynp)

Tiedoston avaus uudelleen

  1. Avaa mikä tahansa Notebook MyBinderissa

  2. File –> Open

  3. Upload ja valitse haluamasi tiedosto.

  4. 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()
../_images/4c323447f1379fb245553719363a12f10cdd34ad1367d8c8d33b49c43e40fad0.png

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()
../_images/2bd3ecd36fc8ef14c3c5fb70d09386d4aa2c0680de38fc287705111bb21f0ec9.png