Comment lire du JSON imbriqué dans un DataFrame Pandas et manipuler les structures de données ?

Barbara Streisand
Libérer: 2024-10-24 12:10:02
original
284 Les gens l'ont consulté

How to Read Nested JSON into a Pandas DataFrame and Manipulate Data Structures?

Lecture de JSON imbriqué en tant que DataFrame Pandas

Pour lire un fichier JSON avec des objets imbriqués en tant que DataFrame pandas, vous pouvez utiliser le puissant json_normalize fonction. Cette fonction vous permet d'aplatir les structures de données imbriquées dans un format tabulaire, ce qui facilite la manipulation et l'analyse des données.

Agrandissement des tableaux en colonnes

Votre exemple JSON contient un éventail d'emplacements. Au lieu de conserver ce tableau sous forme de colonne JSON, vous pouvez le développer en colonnes distinctes pour obtenir de meilleures informations sur les données. json_normalize peut y parvenir avec le paramètre méta. Il spécifie quelles colonnes doivent être désimbriquées et incluses en tant que colonnes normales dans le DataFrame.

<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_', meta=['depTime', 'arrTime'])</code>
Copier après la connexion

Ce code créera un DataFrame avec des colonnes supplémentaires pour depTime et arrTime dérivées du tableau locations.

Rejoindre la colonne des emplacements

Vous avez mentionné que vous souhaitiez rejoindre la colonne des emplacements. Cela peut être fait en utilisant le code suivant :

<code class="python">df['locations'] = df.locations.apply(','.join)</code>
Copier après la connexion

Cela concatènera les emplacements en une seule chaîne séparée par des virgules.

Gestion de plusieurs objets JSON

Si votre fichier JSON contient plusieurs objets JSON (un par ligne), vous pouvez utiliser le code suivant :

<code class="python">import pandas as pd

# Read the JSON file into a list of dictionaries
with open('myJson.json') as f:
    data = [json.loads(line) for line in f]

# Convert the list of dictionaries to a DataFrame
df = pd.DataFrame(data)</code>
Copier après la connexion

Vous pouvez ensuite appliquer les mêmes techniques décrites ci-dessus pour normaliser et joindre les données imbriquées.

En tirant parti de json_normalize, vous pouvez lire, aplatir et manipuler efficacement les données JSON imbriquées dans un DataFrame pandas, améliorant ainsi vos capacités d'analyse de données.

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!