Le voyage pour convertir des structures JSON imbriquées en DataFrames Pandas structurés peut être intimidant, mais avec les bons outils et techniques, cela devient une tâche transparente. Explorons les options disponibles pour cette transformation.
Normalisation JSON : une approche simple
json_normalize fournit une solution puissante pour aplatir les objets JSON imbriqués. Alors que nous nous lançons dans cette approche :
<code class="python">import json with open('myJson.json') as data_file: data = json.load(data_file) df = pd.json_normalize(data, 'locations', ['date', 'number', 'name'], record_prefix='locations_') print (df)</code>
Sortie :
locations_arrTime locations_arrTimeDiffMin locations_depTime \ 0 06:32 1 06:37 1 06:40 2 08:24 1 locations_depTimeDiffMin locations_name locations_platform \ 0 0 Spital am Pyhrn Bahnhof 2 1 0 Windischgarsten Bahnhof 2 2 Linz/Donau Hbf 1A-B locations_stationIdx locations_track number name date 0 0 R 3932 R 3932 01.10.2016 1 1 R 3932 01.10.2016 2 22 R 3932 01.10.2016
Analyse du nom et regroupement pour la concaténation
Cependant, si l'aplatissement n'est pas votre objectif ultime, vous pouvez adopter une approche alternative :
<code class="python">df = pd.read_json("myJson.json") df.locations = pd.DataFrame(df.locations.values.tolist())['name'] df = df.groupby(['date','name','number'])['locations'].apply(','.join).reset_index() print (df)</code>
Sortie :
date name locations 0 2016-01-10 R 3932 Spital am Pyhrn Bahnhof,Windischgarsten Bahnho...
Cette technique vous permet de concaténer les emplacements sans compromettre la structure de nidification.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!