ホームページ > バックエンド開発 > Python チュートリアル > Pandas はネストされた JSON オブジェクトをどのように処理しますか?

Pandas はネストされた JSON オブジェクトをどのように処理しますか?

Barbara Streisand
リリース: 2024-10-24 18:28:05
オリジナル
693 人が閲覧しました

How Do Pandas Handle Nested JSON Objects?

パンダでネストされた JSON オブジェクトを処理する方法

この記事では、パンダを使用してネストされたオブジェクトを含む JSON データ構造を効果的に操作する方法を検討します。

ネストされた JSON 構造

次の JSON 構造を考えてみましょう。

<code class="json">{
    "number": "",
    "date": "01.10.2016",
    "name": "R 3932",
    "locations": [
        {
            "depTimeDiffMin": "0",
            "name": "Spital am Pyhrn Bahnhof",
            "arrTime": "",
            "depTime": "06:32",
            "platform": "2",
            "stationIdx": "0",
            "arrTimeDiffMin": "",
            "track": "R 3932"
        },
        {
            "depTimeDiffMin": "0",
            "name": "Windischgarsten Bahnhof",
            "arrTime": "06:37",
            "depTime": "06:40",
            "platform": "2",
            "stationIdx": "1",
            "arrTimeDiffMin": "1",
            "track": ""
        },
        {
            "depTimeDiffMin": "",
            "name": "Linz/Donau Hbf",
            "arrTime": "08:24",
            "depTime": "",
            "platform": "1A-B",
            "stationIdx": "22",
            "arrTimeDiffMin": "1",
            "track": ""
        }
    ]
}</code>
ログイン後にコピー

json_normalize による平坦化

pandas の json_normalize 関数により、ネストされたオブジェクトを表形式に平坦化できます。 :

<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_')</code>
ログイン後にコピー

これにより、ネストされた「locations」オブジェクト内の各キーの列を含む DataFrame が作成されます。

フラット化を行わないグループ連結

フラット化が望ましくない場合は、 Pandas のグループ化機能と連結機能を使用できます。

<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()</code>
ログイン後にコピー

このアプローチでは、「日付」、「名前」、「番号」の一意の組み合わせごとに、「場所」の値をカンマ区切りの文字列として連結します。 .

結論

pandas の json_normalize 機能とグループ化/連結機能を利用することで、ネストされた JSON 構造を効果的に処理でき、表形式でデータを抽出して操作できるようになります。

以上がPandas はネストされた JSON オブジェクトをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート