Hvorfor brukes Python i Data Science?

La oss si at du er ute på piknik med familien og værmeldingen har forespeilet en solrik dag. Plutselig åpner himmelen kranene og det pøser ned regn.

Da kan man begynne å lure på hvor nøyaktige disse prognosene egentlig er.

Forecastwatch.com gjorde nettopp det og ville se nærmere på dette. Hver dag samler de 36000 prognoser og legger de inn i en database og sammenligner dem med de faktiske forholdene som oppstod på de respektive geografiske lokasjonene den dagen.

Prognoseselskaper rundt om i landet bruker deretter resultatene for å forbedre prognosemodellene for påfølgende tester.

La oss se nærmere på eksemplet vårt med ForecastWatch – all datainnsamlingen, analyse og rapportering bruker tunge analytiske hestekrefter. ForecastWatch gjør alt sammen med ett og samme verktøy; programmeringsspråket Python

Og de er ikke alene om å bruke Python. Ifølge en undersøkelse utført av analyseselskapet O’Reilly bruker 40 % av data forskere (data scientists) Python i sitt daglige arbeid.

Og bruken av Python i data science har ført til at Python har vært en av de mest populære programmeringsspråk siden 2003.

Organisasjoner som Google, NASA og CERN bruker Python i alle tenkelige sammenhenger – mer og mer for data science.

Python – godt nok er veldig bra for data science

Python er et språk som brukes i flere paradigmer innen programmering og kalles også “Swiss Army”-kniven innen kodeverden. Den har støtte for objektorientert programmering, strukturert programmering, funksjonell programmering, web programmering og mye mer.

Man pleier å spøke med ordtaket “Python er generelt det nest-beste språket for alt”.

Mange organisasjoner ønsker den mest moteriktige løsningen som igjen kan gjøre den eksisterende kodebasen inkompatibel eller vanskelig å vedlikeholde.

Python kan håndtere alle typer utfordringer, fra datainnsamling, komplekse nettapplikasjoner og embedded systems – alt i et og samme språk.

La oss igjen gå tilbake til eksemplet vårt for ForecastWatch; Python ble brukt å skrive en parser for å samle inn prognoser fra andre nettsteder, en aggregator for å kompilere dataene og koden for nettsiden for å vise resultatene. Opprinnelig ble PHP brukt for å utvikle nettstedet men selskapet fant ut at det var enklere å bruke et språk for hele prosessen; Python.

Ifølge en artikkel fra 2014 valgte Facebook å bruke Python for data analyse fordi språket ble brukt på mange andre områder i selskapet.

Python – meningen med livet i data science

Navngivingen av Python er inspirert av Monty Python. Skaperen Guido Van Rossum valgte å kalle det Python fordi det skulle være morsomt å bruke. Det er vanlig å finne humoristiske referanser til Monty Python i kodeeksempler og dokumentasjon.

På grunn av denne referansen, og mange andre grunner selvfølgelig, er Python godt likt av kodere rundt i verden. Mange data scientister som har ingeniør bakgrunn eller forsker bakgrunn kan plutselig føle at de har fått nye superkrefter når de prøver Python for data analyse.

Python er lett lesbar, lett å bruke og dermed lett å komme i gang med. Det er et hav av dedikerte biblioteker for analyse som er tilgjengelige i dag. Data scientister i nesten alle sektorer vil finne pakker som allerede er skreddersydd for deres behov og som er fritt tilgjengelig for nedlasting.

På grunn av Pythons stadig utvidede bruksområder og bruk til generelle formål ble det etterhvert populært å bruke det for data analyse. Det utvikles stadig ny funksjonalitet og mange organisasjoner bruker det i bånn for å lage sine egne tilpassede biblioteker og funksjoner for data analyse, statistikk og matematikk.

Bibliotekene som gir språket krefter – fritt tilgjengelige biblioteker for dataanalyse

Pythons popularitet, som i mange andre programmeringsspråk, skyldes et stort antall tilgjengelige biblioteker; 140 000 pr i dag og antallet øker stadig.

Python var i utgangspunktet skapt for å ha en lett og nedstrippet kjernebase og standard bibliotekene har verktøy for alle typer programmeringsoppgaver. Man pleier å si at Python har “batteries included” filosofi. Det betyr at programmere kan raskt sette sammen noe funksjonelt med standard biblioteker enn ved å måtte tråle gjennom eksterne biblioteker.

Hva er hva i Python sin data science jungel; pyton og panda?

Python er gratis, open source software og hvem som helst kan skrive et bibliotek for å utvide Python sin funksjonalitet (men miljøet har noen strenge regler for hvordan koden skal skrives). Data science har nytt godt av disse utvidelsene spesielt Pandas biblioteket – gudfaren selv.

Pandas er Python sitt bibliotek for dataanalyse som blir brukt til alt fra å importere data fra Excel regneark til å prosessere datasett for analyse av tidsserier. Alt det du trenger av verktøy for dataprosessering finner du i Pandas. Pandas kraftige verktøy dataframes er noe du bør bli kjent med for å prøve avansert manipulasjon av data.

Pandas er basert på et eksternt bibliotek som heter NumPy, et at de tidligste bibliotek som er et vellykket prosjekt. NumPy’s funksjoner er eksponert i Pandas for avansert numerisk analyse.

Hvis du er på utkikk etter noe som er rettet mot et spesifikt problem så er sjansen for at det finnes et bibliotek for Python for nettopp det:

  • SciPy er det vitenskapelige tilsvaret på NumPy hvor du har verktøy og teknikker for analyse av vitenskapelige data.
  • Statsmodels – fokuserer på verktøy for statistisk analyse
  • Scikit-Learn og PyBrain er biblioteker for maskin læring som har moduler for å bygge nevrale nettverk og å prosessere data.

Og denne oversikten representerer noen av kodefolkets favoritter. Andre spesial biblioteker som bør nevnes er:

Dette er kun et lite utvalg – jeg anbefaler å sjekke ut flere Python biblioteker for data science.

Man kan alltid spørre noen for hjelp i Python miljøet

Et av de bedre argumentene for å bruke Python er at språket har en bred base av brukere, millioner, som er mer enn gjerne villige for å gi tips og råd hvis du står fast i noe. Sjansen er at noen har sittet fast i det samme som deg før.

Open-source miljøet er kjent for sine åpne diskusjoner men noen av miljøene har et ikke så godt rykte når det gjelder å behandle nykommere.

Python er en av unntakene. Både online miljøer og på meetups kan man møte mange Python eksperter som vil gladelig dele erfaring og råd for å hjelpe deg i gang med å lære Python.

Python er mye mer populært i utlandet og miljøer i Norge har begynt å få opp øynene for Python nå.

Ønsker å du vite mer om Python, data science, big data, kunstig intelligens (AI), maskin læring (machine learning) så ta kontakt med meg på sukhvinder.singh@avantit.no.

Vi deler gjerne vår domenekunnskap rundt disse områdene.

Avant IT er et fremtidsrettet teknologiselskap som skreddersyr løsninger for deg og ditt selskap.

Våre fokusområder består av:

  • Microsoft Dynamics 365 og custom utvikling
  • Software Utvikling
  • Skydrift – Azure
  • Microsoft Office 365
  • Print & Dokumentstyring

samt tilhørende Service & Support rundt disse områdene.

Våre utviklere og konsulenter har lang og bred erfaring i å skreddersy Dynamics 365 (CRM) etter ditt behov. Dette gjelder for alle bedrifter som har et behov innenfor salg, markedsføring, kundeservice, feltservice, prosjektstyring – eller rett og slett en kombinasjon av disse. Vi har også meget god erfaring med integrasjoner mot diverse ERP systemer, som blant annet Visma Global, Visma Lønn, 24 Seven Office og Uni Micro for å nevne noen.

I tillegg til disse ERP integrasjonene har vi flere ulike moduler som vi inkluderer i våre skreddersydde forretningssystemer for våre kunder.

Vi leverer i dag innovative løsninger innenfor våre fokusområder til kunder spredt rundt i Norden. Som en dedikert Microsoft Gold partner jobber vi kontinuerlig med å utvikle innovative løsninger for å imøtekomme våre kunders behov og ønsker.