0%

Waar Python sterk in is

Analyseer gegevens en doe wetenschappelijk onderzoek

Hier staat een heel kleine hoeveelheid bedrijfsinformatie.

MaandGeregistreerde bestellingen
Januari102
Februari118
Maart171

Wat kunnen we met zekerheid zeggen? Dat maart het grootste getal in deze tabel heeft. Dat is werkelijk alles.

Voordat ik er iets mee zou doen, wil ik weten wat het label betekent, of de drie maanden op dezelfde manier zijn geteld en of er gegevens ontbreken. Het rekenwerk kan perfect zijn terwijl het antwoord waardeloos is.

Dat is deze hele les in het klein. Python is heel goed in rekenen, controleren, verkennen en uitleggen. Het kan een onduidelijke vraag of onbetrouwbare informatie niet betrouwbaar maken.

Het werk is een keten, niet één berekening

Data, of gegevens, is vastgelegde informatie die we kunnen onderzoeken: verkopen, temperaturen, antwoorden op enquêtes, wetenschappelijke metingen, websiteactiviteit en talloze andere dingen.

Echt werk met gegevens verloopt in fasen:

raw records
     ↓
clean and check
     ↓
explore
     ↓
analyze
     ↓
explain
     ↓
report, chart, or product

Ruwe gegevens zijn de informatie zoals die oorspronkelijk is verzameld. Dat betekent ontbrekende waarden, typefouten, dubbele rijen, onduidelijke labels en drie schrijfwijzen voor dezelfde stad. Gegevens opschonen betekent verbeteren wat je kunt en vastleggen wat je niet kunt herstellen. Ze verkennen betekent zoeken naar patronen en naar dingen die niet lijken te kloppen.

Bij elk van die pijlen neemt iemand een beslissing. Python heeft de taak die beslissingen uit te voeren.

Waarom Python de hele keten aankan

Het kan informatie ophalen uit bestanden, databases, websites, wetenschappelijke instrumenten en andere systemen. Het kan gegevens opschonen, de berekening uitvoeren, een grafiek tekenen, het rapport maken en het resultaat doorgeven aan een ander programma.

Die breedte is de echte kracht. Een team kan in de hele keten dezelfde taal gebruiken, in plaats van voor elke fase een ander hulpmiddel aan elkaar te knopen. En de opgeschoonde gegevens kunnen doorstromen naar verdere analyse of naar de back-end van een website.

De gespecialiseerde hulpmiddelen zijn pakketten: pandas voor informatie in tabellen met labels, NumPy voor grote verzamelingen waarden en numeriek werk, SciPy voor gevestigde wetenschappelijke methoden. Je hoeft niet te onthouden welk pakket wat doet. Belangrijk is dat er serieuze, volwassen hulpmiddelen voor gegevens bestaan en dat mensen er al jaren echt onderzoek aan toevertrouwen.

Een deel van het zware rekenwerk wordt helemaal niet als gewone Python uitgevoerd. Het gebeurt binnen de bibliotheek, in code die speciaal voor die bewerking is gemaakt. Python blijft de plek waar iemand het werk beschrijft en met elkaar verbindt. Die verdeling zagen we in les 1.2, en we komen haar nog twee keer tegen.

Door de brede inzetbaarheid, verbindingen en volwassen hulpmiddelen is Python goed geschikt voor gegevensverwerking en wetenschappelijk werk.

Het deel dat Python niet kan doen

Terug naar de drie maanden. Python kan direct de grootste waarde vinden, het gemiddelde berekenen en een grafiek tekenen. Maar niets daarvan vertelt je of Geregistreerde bestellingen gaat over geplaatste, betaalde of verzonden bestellingen.

Stel dat de ene maand alleen onlinebestellingen telt en de andere ook die uit de winkel. De getallen kunnen perfect opgeslagen en perfect doorgerekend zijn, terwijl de vergelijking nog steeds nergens op slaat.

Stel dat een systeem uitviel en een dag aan gegevens verloren ging. Python kan dat niet weten, tenzij iemand of een andere controle het aangeeft.

Stel dat het resultaat verrassend is. Dat kan een ontdekking zijn. Het kan ook een fout zijn. Iemand die het onderwerp begrijpt, moet uitzoeken welke van de twee het is.

Daarom vraagt werken met gegevens om zowel programmeervaardigheid als vakkennis. Die tweede is niet optioneel. Een medisch onderzoeker, klimaatwetenschapper, financieel analist, journalist en winkelier kunnen dezelfde Python-hulpmiddelen gebruiken, maar toch heel andere kennis nodig hebben om een zinvolle vraag te stellen en het antwoord te beoordelen. Het hulpmiddel ondersteunt een conclusie. Een mens blijft ervoor verantwoordelijk.

Hoe zit het met R?

R is een andere taal die is gemaakt om van gegevens te leren en grafieken te tekenen. Ze ondersteunt heel veel statistische methoden en grafische weergaven.

Welke taal past, hangt af van de methoden die je nodig hebt, het werk dat er al ligt, de mensen om je heen en wat in jouw vakgebied wordt onderwezen. Een onderzoeksgroep met vijftien jaar aan betrouwbaar R-werk hoeft dat niet weg te gooien. Een andere groep kan voor Python kiezen omdat ze de analyse wil verbinden met een website of groter product. Veel groepen gebruiken beide.

Verder lezen (Engels)

De officiële pandas-documentatie laat de mogelijkheden zien van een van de belangrijkste gegevenspakketten voor Python. De eigen inleiding van het R Project beschrijft R in zijn eigen woorden. Beide zijn optioneel.