ホームページ  >  記事  >  バックエンド開発  >  ネストされた JSON を Pandas DataFrame に読み込み、データ構造を操作する方法

ネストされた JSON を Pandas DataFrame に読み込み、データ構造を操作する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-24 12:10:02275ブラウズ

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

入れ子になった JSON を Pandas DataFrame として読み取る

入れ子になったオブジェクトを含む JSON ファイルを pandas DataFrame として読み取るには、強力な json_normalize を利用できます。関数。この関数を使用すると、ネストされたデータ構造を表形式に平坦化し、データの操作と分析が容易になります。

配列を列に展開

サンプル JSON には次のものが含まれます場所の配列。この配列を JSON 列として保持する代わりに、それを別の列に拡張して、データに対するより良い洞察を得ることができます。 json_normalize は、meta パラメーターを使用してこれを実現できます。どの列のネストを解除し、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>

このコードは、location 配列から派生した depTime と arrTime の追加列を持つ DataFrame を作成します。

場所列に参加

場所列に参加したいとおっしゃいました。これは、次のコードを使用して実行できます。

<code class="python">df['locations'] = df.locations.apply(','.join)</code>

これにより、場所が単一のカンマ区切り文字列に連結されます。

複数の JSON オブジェクトの処理

JSON ファイルに複数の JSON オブジェクト (1 行に 1 つ) が含まれている場合は、次のコードを使用できます。

<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>

その後、上で説明したのと同じ手法を適用して、ネストされたデータを正規化して結合できます。

json_normalize を活用すると、ネストされた JSON データを pandas DataFrame に効率的に読み取り、平坦化、操作でき、データ分析機能が強化されます。

以上がネストされた JSON を Pandas DataFrame に読み込み、データ構造を操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。