Pandas 如何處理巢狀的 JSON 物件?

Barbara Streisand
發布: 2024-10-24 18:28:05
原創
590 人瀏覽過

How Do Pandas Handle Nested JSON Objects?

如何使用 Pandas 處理巢狀 JSON 物件

在本文中,我們將探索如何使用 pandas 有效地操作具有巢狀物件的 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 函數允許我們將巢狀的json_normalize 函數允許我們將巢狀的json_normalize 函數允許我們將巢狀的json_normalize 函數允許我們將巢狀的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>
登入後複製

這會產生一個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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!