Verzamelde gegevens efficiënt opslaan
Opslaan in CSV/JSON/Parquet, veilig toevoegen, dedupliceren en incrementeel verzamelen.
Verzamelde gegevens efficiënt opslaan is een gratis Leer AI met Python-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.
Van ruwe antwoorden naar opgeslagen gegevens
Na het verzamelen van gegevens moet je deze opslaan, zodat je ze opnieuw kunt laden, delen en analyseren. De juiste indeling en enkele goede gewoonten maken een groot verschil in snelheid en schijfgebruik.
In deze les behandelen we CSV, Parquet, het toevoegen van gegevensblokken en het ontdubbelen van gegevens.
JSON naar DataFrame
API-antwoorden zijn meestal lijsten met woordenboeken. pd.DataFrame zet die rechtstreeks om in een tabel die klaar is om op te slaan.
import pandas as pd
records = [
{"id": 1, "name": "A", "score": 9.5},
{"id": 2, "name": "B", "score": 8.0},
]
df = pd.DataFrame(records)
print(df)Opslaan als CSV met df.to_csv
CSV is universeel en door mensen leesbaar. Sla gegevens op met to_csv; geef index=False door, zodat de rij-index niet als een losse kolom wordt opgeslagen.
df.to_csv("data.csv", index=False)
# Reload
df2 = pd.read_csv("data.csv")Beperkingen van CSV
CSV is handig, maar heeft nadelen voor AI-werk:
- Geen gegevenstypen — alles wordt als tekst opgeslagen, waardoor dtypes bij het laden opnieuw worden geraden
- Grote bestanden, standaard zonder compressie
- Langzaam in te lezen bij grote gegevensverzamelingen
Voor grotere of vaak opnieuw geladen gegevens is Parquet beter.
Opslaan als Parquet met df.to_parquet
Parquet is een binair kolomformaat. Het behoudt gegevenstypen, kan goed worden gecomprimeerd en wordt veel sneller geladen dan CSV.
Hiervoor moet een engine zoals pyarrow zijn geïnstalleerd.
df.to_parquet("data.parquet", index=False)
df2 = pd.read_parquet("data.parquet")
print(df2.dtypes) # types preserved, no re-guessingCSV versus Parquet — wanneer gebruik je welke?
Vuistregels:
- CSV: kleine gegevensverzamelingen, delen met hulpmiddelen die niet op Python zijn gebaseerd, snelle inspectie
- Parquet: grote gegevensverzamelingen, herhaaldelijk laden, behoud van gegevenstypen, analysepijplijnen
Geef voor verzamelprocessen die modellen voeden de voorkeur aan Parquet.
Nieuwe gegevensblokken samenvoegen met pd.concat
Gegevens verzamelen gebeurt vaak in blokken. Combineer een bestaande DataFrame met een nieuwe met pd.concat.
ignore_index=True nummert de index opnieuw, zodat deze overzichtelijk blijft.
new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))Rechtstreeks toevoegen aan een CSV-bestand
Als je gegevens aan een bestaand CSV-bestand wilt toevoegen zonder het te laden, open je het in toevoegmodus en sla je de kopregel bij latere schrijfbewerkingen over.
import os
header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)Waarom dedupliceren
Het opnieuw uitvoeren van een verzameling, overlappende pagina's of nieuwe pogingen kan dubbele rijen opleveren. Dubbelen verhogen aantallen onterecht en kunnen tussen splitsingen voor training en evaluatie lekken, waardoor de modelbeoordeling slechter wordt.
Dedupliceer altijd nadat je gegevensblokken hebt samengevoegd.
drop_duplicates(subset=[id])
Gebruik een stabiele unieke sleutel (vaak id) met drop_duplicates(subset=...). Hiermee verwijder je herhalingen, zelfs als andere velden een beetje zijn veranderd.
keep="last" bewaart de meest recente versie van elke id.
df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")Een hulpfunctie voor opslaan en samenvoegen
Combineer de onderdelen: laad bestaande Parquet als dat aanwezig is, voeg het nieuwe gegevensblok samen, dedupliceer op id en sla het resultaat opnieuw op. Je kunt dit veilig herhaaldelijk uitvoeren.
import os
import pandas as pd
def save_merge(new_df, path="data.parquet", key="id"):
if os.path.exists(path):
old = pd.read_parquet(path)
new_df = pd.concat([old, new_df], ignore_index=True)
new_df = new_df.drop_duplicates(subset=[key], keep="last")
new_df.to_parquet(path, index=False)
return new_dfKorte toets: keuze van indeling
Je laadt herhaaldelijk een grote gegevensset voor het trainen van een model en je wilt dat gegevenstypen behouden blijven bij snel inlezen.
Samenvatting: gegevens efficiënt opslaan
Je kunt verzamelde gegevens nu goed bewaren:
pd.DataFrameom JSON-records in een tabel om te zettento_csv(index=False)voor draagbare tekst,to_parquetvoor snelle opslag met behoud van typenpd.concat(ignore_index=True)of de toevoegmodus van CSV voor gegevensblokkendrop_duplicates(subset=["id"])om rijen uniek te houden
Daarna: werken met echte openbare gegevens-API's.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “Verzamelde gegevens efficiënt opslaan” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Verzamelde gegevens efficiënt opslaan”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat leer ik in “Verzamelde gegevens efficiënt opslaan”?
Opslaan in CSV/JSON/Parquet, veilig toevoegen, dedupliceren en incrementeel verzamelen. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Verzamelde gegevens efficiënt opslaan”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De basis van REST-API's voor dataverzameling
- Grote datasets pagineren en verzamelen
- Verzamelde gegevens efficiënt opslaan
- Werken met openbare data-API's