Comment convertir des structures JSON imbriquées en DataFrames Pandas structurés ?

Susan Sarandon
Libérer: 2024-10-24 11:41:29
original
700 Les gens l'ont consulté

How to Convert Nested JSON Structures into Structured Pandas DataFrames?

Démêler les mystères du JSON imbriqué : se transformer en DataFrames Pandas

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>
Copier après la connexion

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 
Copier après la connexion

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(&quot;myJson.json&quot;)
df.locations = pd.DataFrame(df.locations.values.tolist())['name']
df = df.groupby(['date','name','number'])['locations'].apply(','.join).reset_index()
print (df)</code>
Copier après la connexion

Sortie :

        date    name                                          locations
0 2016-01-10  R 3932         Spital am Pyhrn Bahnhof,Windischgarsten Bahnho... 
Copier après la connexion

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!