← Terug naar Blog

JSON in Data Science: Gids voor Python en Pandas

Complete gids voor het gebruik van JSON in data science workflows. Leer hoe u JSON verwerkt met Python en Pandas, en hoe u het integreert in machine learning-pipelines.

Big JSON Team13 min leestijdprogrammeren
B

Big JSON Team

Technical Writer

Expert in JSON data manipulation, API development, and web technologies. Passionate about creating tools that make developers' lives easier.

13 min read

JSON in Data Science

JSON wordt overal in de data science gebruikt: voor API-data, in NoSQL-databases en voor configuratiebestanden.

JSON laden met Pandas

import pandas as pd

# Eenvoudig JSON-bestand laden

df = pd.read_json('data.json')

# JSON Lines-formaat (één JSON-object per regel)

df = pd.read_json('data.jsonl', lines=True)

# Vanuit een string laden

df = pd.read_json(json_string)

Omgaan met geneste JSON

import pandas as pd

# Voorbeeld van geneste data

data = {

"gebruikers": [

{"naam": "Alice", "adres": {"stad": "Amsterdam"}},

{"naam": "Bob", "adres": {"stad": "Utrecht"}}

]

}

# Geneste structuur platmaken (normaliseren)

df = pd.json_normalize(data['gebruikers'])

# Resultaat kolommen: naam, adres.stad

Laden vanuit API's

import requests

import pandas as pd

response = requests.get('https://api.example.com/data')

data = response.json()

df = pd.DataFrame(data)

Ontbrekende gegevens afhandelen

data = [

{"naam": "Alice", "leeftijd": 30, "email": "alice@example.com"},

{"naam": "Bob", "leeftijd": 25}, # Geen e-mailadres

]

df = pd.DataFrame(data)

df['email'] = df['email'].fillna('onbekend')

JSON Lines voor grote bestanden

# Verwerken in kleine stukjes (chunks)

chunks = pd.read_json('groot_bestand.jsonl', lines=True, chunksize=10000)

for chunk in chunks:

process(chunk)

Streamen met ijson

Voor extreem grote bestanden die niet in het geheugen passen:

import ijson

def verwerk_grote_json(bestandsnaam):

with open(bestandsnaam, 'rb') as f:

for item in ijson.items(f, 'items.item'):

yield item

Gegevensanalyse

# Basis analyse

df.info()

df.describe()

df['status'].value_counts()

# Groeperen

samenvatting = df.groupby('categorie').agg({

'prijs': ['mean', 'sum'],

'beoordeling': 'mean'

})

Resultaten exporteren

# Naar JSON

df.to_json('uitvoer.json', orient='records', indent=2)

# Naar Excel

df.to_excel('uitvoer.xlsx', index=False)

# Naar CSV

df.to_csv('uitvoer.csv', index=False)

Machine Learning Pipeline-integratie

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

# Feature engineering

df = pd.json_normalize(data)

df_geencodeerd = pd.get_dummies(df, columns=['categorie'])

# Data splitsen

X = df_geencodeerd.drop('doel', axis=1)

y = df_geencodeerd['doel']

X_trein, X_test, y_trein, y_test = train_test_split(X, y, test_size=0.2)

Best Practices

  • Valideer je JSON voordat je deze verwerkt.
  • Gebruik altijd UTF-8-codering.
  • Ga zorgvuldig om met ontbrekende gegevens.
  • Gebruik streaming voor zeer grote bestanden.
  • Documenteer je datastructuren (schema's).
  • Conclusie

    JSON is onmisbaar in data science. Beheers functies zoals pd.json_normalize() voor geneste data en gebruik ijson voor het verwerken van gigantische bestanden!

    Share:

    Gerelateerde Artikelen

    Read in English