Programming Python Pandas

Gegroet allen

Tijdje terug heb ik een opleiding genoten via het werk over programmeren in Python. De cursus was eigenlijk 1:1 met wat de eerstejaars bachelors krijgen aan de hogeschool. Helaas (en tegelijk logisch) stopte de cursus aan het punt waar het écht interessant kon worden: gebruik maken van libraries als Numpy en Pandas.

Nu heb ik de afgelopen weken geprobeerd om me zelfstandig te verdiepen in een library als Pandas, maar ik vind dat knap lastig gezien de grote zee aan mogelijkheden dat Pandas uiteindelijk is.

Nu mijn vraag: kan iemand mij misschien doorverwijzen naar een goede bron waar je misschien een voorbeeldproject stap voor stap kan uitwerken met "hulp". Op Kaggle zijn er talloze mogelijkheden aan datasets, maar ik weet precies niet goed waar te beginnen omdat ik nooit echt weet waar ik wil eindigen. Als dat een beetje begrijpbaar klinkt.

Iemand die wat tips kan geven misschien?

Thanks!
 
De learn track van Kaggle zou je al een heel eind moeten brengen. Je kan instappen op je eigen niveau.
https://www.kaggle.com/learn

Tip: neem de code die je tegenkomt in courses over in een eigen versie die je herwerkt, van commentaar voorziet, aanpast om een analoog probleem op te lossen, generiek maakt, object georienteerd maakt, etc. Idealiter wordt die eigen code een soort van codebank met blueprints waaruit je kan putten om nieuwe problemen op te lossen. Die eigen codebank is een work in progress die nooit stopt en altijd beter wordt.

Algemene opmerking. Heel veel data science courses leren je script georienteerd programmeren (bv. in een notebook, sequentiele code). Notebooks zijn enorm handig om interactief te developen, voor visualisaties, etc. Maar zodra je meer wil doen dan een ad hoc modelletje of analyse, is het aan te raden om object georienteerd/in klasses te schrijven (ook in Python).
 
Laatst bewerkt:
Ontzettend bedankt voor de feedback! Ik heb totaal geen achtergrond in het programmeren dus ik heb geen idee hoe mensen met ervaring dat doorgaans aanpakken. Die codebank is een heel goede tip, want de hoeveelheid aan mogelijkheden is bij wijlen overweldigend!

Absolute noobvraag, maar wat betekent 'object georienteerd' precies? Als ik het van Wikipedia goed begrijp, houdt het eigenlijk in dat ik een script schrijf voor de gebruiker, die op zijn beurt hooguit enkele variabelen moet ingeven om bepaalde outputs te krijgen?

Edit: en heb je toevallig een suggestie in welk programma ik zo een codebank het best kan aanmaken? Ik denk onmiddellijk aan een notepad of wordfiletje, maar ik ben er zeker van dat er betere alternatieven voorhande zijn :p
 
Laatst bewerkt:
Als je nieuw bent in programmeren/python zou ik deze cursus aanraden. https://www.udemy.com/course/100-days-of-code/
Is vooral een cursus in de breedte. Naast de basics, pandas/numpy, etc. leer je bv. ook wat web skills (al komen die zeker van pas voor data visualisatie). Maar het didactisch niveau van die cursus is gewoon zo hoog dat we die bij ons op het werk altijd aanraden. En ze leert je meteen ook 'goed' coderen (object georienteerd, met een IDE, debugging etc). Typische software engineering vaardigheden waar het bij veel data scientists al eens aan durft mankeren.

Bij object georienteerd programmeren ga je code groeperen in logische klasses met bijhorende eigenschappen en methodes. Die klasses kan je als blueprints zien waarvan je objecten kan maken om zaken concreet uit te voeren. Eigenlijk structureer je je code zodanig dat het simpel wordt om over je code te redeneren, zaken te vervangen, te testen, etc. Het is een beetje een verderzetting van functioneel programmeren (waarbij al je code in functies steekt) en scripts schrijven (gewoon lijnen code onder elkaar die zaken meteen uitvoeren). Zie ook https://www.educative.io/blog/object-oriented-programming. Het komt ook aan bod in die 100 days of python cursus.
 
Ontzettend bedankt voor de feedback! Ik heb totaal geen achtergrond in het programmeren dus ik heb geen idee hoe mensen met ervaring dat doorgaans aanpakken. Die codebank is een heel goede tip, want de hoeveelheid aan mogelijkheden is bij wijlen overweldigend!

Absolute noobvraag, maar wat betekent 'object georienteerd' precies? Als ik het van Wikipedia goed begrijp, houdt het eigenlijk in dat ik een script schrijf voor de gebruiker, die op zijn beurt hooguit enkele variabelen moet ingeven om bepaalde outputs te krijgen?

Edit: en heb je toevallig een suggestie in welk programma ik zo een codebank het best kan aanmaken? Ik denk onmiddellijk aan een notepad of wordfiletje, maar ik ben er zeker van dat er betere alternatieven voorhande zijn :p

In theorie is het eenvoudigste om gewoon je bestanden zelf bij te houden in mappen en dan een "eenvoudige" editor zoals Visual Studio Code te gebruiken om je code te schrijven.

Ik zeg in theorie omdat ik persoonlijk die aanpak wel verkies maar tegelijk ook kan begrijpen wanneer dit iets te hoogdrempelig is voor mensen die absoluut nieuw zijn.

Je zou dus ook eens kunnen kijken naar een IDE zoals PyCharm. Die gebruiken ze bij de KUL voor de starterscursus Beginselen van Programmeren. Die houdt al je bestanden voor je bij en heeft ook goede autocompletion en debugging features. Zo kan je je gewoon concentreren op het leren programmeren.

Er bestaan verschillende visies hierover maar zelf vind ik dat je best voor de manier kiest die jou het meeste plezier geeft bij het leren. Als het plezant werken is blijf je vanzelf beter gemotiveerd :)
 
Bedankt voor de tip!
De lessen die we gekregen hebben, verwerkten we sowieso al in PyCharm, dus dat gebruik ik nu ook nog voor de uitbreidingen.

Om de één of andere reden dacht ik wel dat ook programmeurs zaken als PyCharm gebruikten. Als ik ooit het gevoel zal krijgen dat ik het vlot kan, zal ik ook eens een poging wagen met iets als Visual Studio Code :p
 
Terug
Bovenaan