Avainsana-arkisto: Jupyter

Jupyter: Taulukot ja kaaviot raporttiin

Päivitetty 1.7.2019.

Tässä artikkelissa kerron, miten voit siirtää Pythonilla Jupyter-notebookiin lasketut taulukot ja kaaviot Word-raporttiin.

Taulukot

Jupyter-notebook toimii oletusselaimessa. Laskettujen (html-muotoisten) taulukoiden ulkoasu riippuu käytetystä selaimesta.

Ennen Wordiin kopiointia taulukon lukumuotoilut kannattaa laittaa kuntoon (desimaalien määrä, mahdolliset prosenttimuotoilut).

Valitse taulukko ja kopioi-liitä se Word-dokumenttiin. Näin saat Word-taulukon, jonka ulkoasua voit  muuttaa Wordin taulukkotyökaluilla:

  • Valitse solu taulukon alueelta.
  • Valitse Table Tools – Design -työkaluista haluamasi tyyli.

taulukko

Vieressä on kuvakaappaus Jupyter-notebookista.

Kopioi-liitä liittää sen Wordiin karun näköisenä taulukkona (keskimmäinen taulukko).

Tämän jälkeen valitsin Table Tools – Design (Taulukkotyökalut – Rakenne) -työkaluista mieleiseni tyylin. Tästä voisin vielä jatkaa esimerkiksi tasaamalla koulutuksia kuvaavat tekstit vasempaan reunaan, korvaamalla desimaalipisteet pilkuilla ja vaihtamalla fonttia.

Taulukon sisältöä, tekstejä ja lukuja, voin tarvittaessa muokata.

Kaaviot

Samassa Jupyter-notebookin solussa luodun kaavion voit tallentaa komennolla

plt.savefig('nimi.png', bbox_inches='tight')

Tärkeitä huomioita:

  • Jos tiedostonimeen ei liity polkua, niin kaavio tallentuu samaan kansioon kuin Jypyter-notebook.
  • Ilman bbox_inches=’tight’-parametria kaavion reunoilla olevat tekstit jäävät usein osittain tallennetun kaavion ulkopuolelle.
  • Tiedostoformaatti määräytyy tiedostonimen tarkentimesta (edellä .png).

Järjestelmäsi tukemat kuvaformaatit saat selville komennolla

plt.figure().canvas.get_supported_filetypes()

Tuloksena saat listauksen kuvaformaateista, esimerkiksi:

{'ps': 'Postscript',
 'eps': 'Encapsulated Postscript',
 'pdf': 'Portable Document Format',
 'pgf': 'PGF code for LaTeX',
 'png': 'Portable Network Graphics',
 'raw': 'Raw RGBA bitmap',
 'rgba': 'Raw RGBA bitmap',
 'svg': 'Scalable Vector Graphics',
 'svgz': 'Scalable Vector Graphics',
 'jpg': 'Joint Photographic Experts Group',
 'jpeg': 'Joint Photographic Experts Group',
 'tif': 'Tagged Image File Format',
 'tiff': 'Tagged Image File Format'}

Kaavion voit myös kopioida Jupyter-notebookista suoraan Wordiin kopioi-liitä-toiminnolla (löydät kopioi-komennon napsauttamalla hiiren kakkospainiketta kaavion päällä).

Kaavioiden fontti

Kaavion  fonttia et voi vaihtaa enää raportissa. Pythonilla fontin vaihto onnistuu, mutta se pitää tehdä ennen kaavioiden luontia. Voit antaa seuraavat komennot heti ohjelmakirjaston tuonnin (import  matplotlib.pyplot as plt) jälkeen. Komennot vaikuttavat näin kaikkiin samassa notebookissa laadittaviin kaavioihin.

plt.rcParams['font.sans-serif'] = "Arial"
plt.rcParams['font.family'] = "sans-serif"

Ensimmäisellä komennolla määrität fonttilajin. Yllä on määritelty ’sans-serif’-fontiksi ’Arial’. Sen jälkeen on määritelty, että kaavioissa käytetään ’sans-serif’-fonttia. ’sans-serif’ tarkoittaa fontteja ilman pääteviivaa (groteski). Voit myös määrittää käytettäväksi ’serif’-fontin eli pääteviivallisen fontin.

Voit halutessasi säätää myös fonttikoot, esimerkiksi:

plt.rcParams['font.size'] = 12 #oletusfontti
plt.rcParams['axes.titlesize'] = 14 #kaavion otsikko
plt.rcParams['axes.labelsize'] = 12 #akselien otsikot
plt.rcParams['xtick.labelsize'] = 10 #x-akselin jaotuksen nimiöt
plt.rcParams['ytick.labelsize'] = 10 #y-akselin jaotuksen nimiöt
plt.rcParams['legend.fontsize'] = 12 #selite
plt.rcParams['figure.titlesize'] = 14 #kuvion otsikko

 

Jupyter

Jupyter on kätevä väline Python-ohjelmien kirjoittamiseen ja suorittamiseen. Jupyter asentuu Anacondan asentamisen yhteydessä.

Käynnistä Jupyter

Käynnistä Jupyter Notebook suoraan käynnistysvalikosta. Jupyter Notebookin löydät Anacondan alta. Voit halutessasi tehdä sille oman kuvakkeen työpöydälle.

Jupyter käynnistyy oletusselaimeesi Home-nimiselle välilehdelle.

Luo uusi notebook

Voit luoda uuden tyhjän notebookin Jupyterin etusivun oikean yläreunan New – Python 3 -toiminnolla. Uusi notebook avautuu uudelle välilehdelle.

jupyter1

Notebookin yläreunasta löydät työkalupainikkeita ja valikoita, joiden sisältöön kannattaa heti alussa tutustua. Notebookin voit nimetä uudelleen File-valikon Rename-toiminnolla.

Kirjoita koodia

Jupyter-notebook koostuu soluista. Soluun voit kirjoittaa Python-koodia ja kommentteja. Kommenttirivi alkaa aina #-merkillä. Koodin voit suorittaa usealla tavalla:

  • Cell-valikon kautta
  • työkalurivin painikkeella
  • näppäinyhdistelmällä ctrl-enter tai shift-enter (siirtää kohdistimen samalla seuraavaan soluun). Lisää pikanäppäimiä löydät Googlaamalla Jupyter keyboard shortcuts.

jupyter2

Koodin suorituksesta mahdollisesti seuraavat tulosteet, varoitukset ja virheilmoitukset tulostuvat solun alapuolelle. Voit milloin tahansa muuttaa solun koodia ja suorittaa koodin uudelleen.

Uusia soluja voit lisätä Insert-valikon kautta ja soluja voit tuhota Edit-valikon kautta.

Aiemmin suorittamasi koodin tallentamat muuttujat ym. tiedot säilyvät koko istunnon ajan. Voit näin ollen suorittaa osan ohjelmasta yhdessä solussa ja jatkaa ohjelman suoritusta toisessa solussa.

Tarvittaessa voit tyhjentää istunnon tallentamat tiedot valitsemalla Kernel-valikosta Restart & Clear Output. Jokaisella notebookilla on oma Kernel. Restart & Clear Output vaikuttaa ainostaan aktiiviseen notebookiin.

Työskentelyn lopuksi voit valita File-valikosta Close and Halt. Pelkkä välilehden sulkeminen ei poista muistiin tallennettuja ohjelman tietoja.

Tallenna notebook

Notebook tallentuu Jupyterin oletuskansioon. Minun Windows 10 -koneella oletuskansiona on C:/Users/’käyttäjänimi’/. Jupyter notebook -tiedoston tunnistat tiedostonimen loppuosasta .ipynb. Tallentamasi notbookit löydät Jypyterin etusivulta (Home-välilehti) ja voit avata notebookin omalle välilehdelleen napsauttamalla notebookin nimeä.

Voit luoda oletuskansion alle uusia kansioita. Voit siirtyä toiseen kansioon napsauttamalla Jupyterin etusivulla (Home-välilehti) kansion nimeä. Uusi notebook tallentuu aina siihen kansioon, joka on valittuna.

Opettele Pythonin perusteet

Otettuasi Jupyterin käyttöön voitkin opetella Pythonin perusteet Teemu Sirkiän mainion materiaalin avulla:

http://www.cs.hut.fi/~ttsirkia/Python.pdf

 

Asenna Anaconda

Python on suosittu ellei suosituin ohjelmointikieli datojen analysoinnissa ja mallintamisessa (kokeile esimerkiksi Google-hakuja Python data analysis, Python data science tai Python machine learning).

Datojen analysointiin tarvittavat olennaiset Python-taidot voit oppia nopeasti vaikket omaisikaan aiempaa ohjelmointikokemusta.

Ensimmäiseksi tarvitset hyvän ohjelmointiympäristön. Datojen analysointia suunnittelevan kannattaa asentaa tietokoneelleen Anaconda. Anaconda sisältää muiden muassa

  • Python-tulkin
  • datojen analysointiin tarvittavat ohjelmakirjastot (Numpy, Pandas, jne.)
  • graafiseen esittämiseen tarvittavat ohjelmakirjastot (Matplotlib, Seaborn jne.)
  • Jupyter-notebookin ohjelmien kirjoittamiseen ja suorittamiseen.

Löydät Anacondan Windowsille, Macille ja Linuxille osoitteesta

https://www.anaconda.com/download/

Voit asentaa Anacondan oletusasetuksilla. Asennuksen jälkeen kannattaa avata ja tutustua Anaconda Navigator -sovellukseen.

Anaconda Navigatorin Environments-osiossa voit turvallisesti päivittää ohjelmakirjastoja uusimpiin versiohin siten että kirjastojen sidonnaisuudet toisiinsa toimivat päivityksen jälkeenkin. Kirjastojen päivittäminen tulee ajankohtaiseksi viimeistään silloin kun haluat käyttää uusimpiin versiohin lisättyjä toimintoja. Päivitysten jälkeen osa ohjelmista saattaa antaa varoituksia (UserWarning) käytöstä poistuneista (deprecated) toiminnoista. Varoitus ei estä ohjelmaa toimimasta.

Ohjeita Anacondan käyttöön löydät osoitteesta

https://docs.anaconda.com/anaconda/

Oletan, että blogini lukijoilla on Anaconda asennettuna. Kaikki esimerkit kirjoitan ja testaan Anacondan mukana tulevalla Jupyter-notebookilla.