Mappestruktur (forberedelse)
Contents
Mappestruktur (forberedelse)#
Når vi programmerer og jobber med data prøver vi ofte ut mange forskjellige framgangsmåter. Det kan føre til at vi lager en hel rekke filer med kryptiske navn, lagt i mapper som vi glemmer hva heter.
Her introduserer vi en mappestruktur og filnavnstruktur vi kan følge for å unngå slike problemer.
Forklaring#
Denne filstrukturen er laget for å passe i HON2200 - Data-drevne prosjekter. Den er en nedstrippet variant av cookiecutter-data-science. Målet er at dere skal få organisert filene på en ryddig måte slik at ikke data blandes med kode som er i endring, og slik at den endelige rapporten ikke blandes sammen med utforskende notebooks. Det er mye arbeid underveis som ikke trenger å være med i en endelig rapport.
Hvordan denne strukturen skal se ut må vi gjerne diskutere. Men siden vi skal jobbe sammen i team er det omtrent like viktig at strukturen er konsistent som at den er optimal. I mappestrukturen ligger det inne noen eksempler, slik at det skal være tålelig å sette seg inn i.
Filstrukturen er som følger:
mitt_prosjekt
│
├── data <- Her legger vi data som skal brukes
│ i prosjektet. Om det er lite data kan
│ vi legge det på Github. Om det er
│ mye kan vi ikke sjekke det inn på github, men
│ blir nødt til å lagre et annet sted.
│
├── notebooks <- Her legger vi notebooks som vi bruker
│ i utforskning av data. Bruk navnekonvensjon
│ med tall-initialer-beskrivelse.ipynb, eks.
│ 002-has-utforske-iris-data.ipynb
│
├── report <- Her skriver vi den ferdige rapporten. Den
| eksporteres til slutt som PDF.
│
└── requirements.txt <- Fil som lister opp hvilke python-pakker vi trenger
for å kjøre koden i prosjektet.
requirements.txt#
Når vi lager et nytt prosjekt, er det god skikk å lage en fil, requirements.txt
, som lister opp alle de pakkene som må installeres for at koden i prosjektet skal kunne kjøre. I et prosjekt kan man f.eks trenge følgende pakker:
- pandas
- numpy
- matplotlib
Dermed bør vi lage en fil requirements.txt
med følgende innhold:
pandas
numpy
matplotlib
For å installere pakkene kjører vi
pip install -r requirements.txt