首頁 後端開發 Python教學 如何將巢狀 JSON 資料匯入並處理到 Pandas DataFrame 中?

如何將巢狀 JSON 資料匯入並處理到 Pandas DataFrame 中?

Oct 24, 2024 am 11:40 AM

How to Import and Process Nested JSON Data into Pandas DataFrames?

將巢狀JSON 檔案讀取為Pandas DataFrame

使用包含巢狀物件的JSON 資料時,可能需要將其轉換為更用於分析或操作的結構化格式。 Pandas 提供了有效處理此類數據的有用工具。

場景:

考慮具有以下結構的JSON 文件:

1

2

3

4

5

6

7

8

9

10

<code class="json">{

    "number": "",

    "date": "01.10.2016",

    "name": "R 3932",

    "locations": [

        { ... },

        { ... },

        { ... }

    ]

}</code>

登入後複製

使用json_normalize:

json_normalize 函數可讓您將巢狀的JSON 展平到DataFrame 中。對於給定的JSON,您可以執行以下操作:

1

2

3

4

5

6

7

8

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

 

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>

登入後複製

這將建立一個包含以下列的DataFrame:

擴充以保留巢狀資料:

如果您希望保持巢狀數組完整,可以將read_json 與解析參數一起使用。這會將 JSON 解析為 DataFrame,其中位置列作為字典列表。

1

<code class="python">df = pd.read_json("myJson.json", orient='records', parsing = True)</code>

登入後複製

或者,您可以使用建構子參數解析位置列:

1

2

<code class="python">df = pd.read_json("myJson.json", orient='records',

                  constructor=lambda x: pd.DataFrame(x['locations']))</code>

登入後複製

連接巢狀值:

如果要將位置列中的值連接成單一字串,可以使用groupby 和apply 函數:

1

<code class="python">df = df.groupby(['date', 'name', 'number'])['locations'].apply(','.join).reset_index()</code>

登入後複製

以上是如何將巢狀 JSON 資料匯入並處理到 Pandas DataFrame 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我如何使用美麗的湯來解析HTML? 我如何使用美麗的湯來解析HTML? Mar 10, 2025 pm 06:54 PM

我如何使用美麗的湯來解析HTML?

python中的圖像過濾 python中的圖像過濾 Mar 03, 2025 am 09:44 AM

python中的圖像過濾

如何在Python中下載文件 如何在Python中下載文件 Mar 01, 2025 am 10:03 AM

如何在Python中下載文件

如何使用Python查找文本文件的ZIPF分佈 如何使用Python查找文本文件的ZIPF分佈 Mar 05, 2025 am 09:58 AM

如何使用Python查找文本文件的ZIPF分佈

如何使用Python使用PDF文檔 如何使用Python使用PDF文檔 Mar 02, 2025 am 09:54 AM

如何使用Python使用PDF文檔

如何在django應用程序中使用redis緩存 如何在django應用程序中使用redis緩存 Mar 02, 2025 am 10:10 AM

如何在django應用程序中使用redis緩存

如何使用TensorFlow或Pytorch進行深度學習? 如何使用TensorFlow或Pytorch進行深度學習? Mar 10, 2025 pm 06:52 PM

如何使用TensorFlow或Pytorch進行深度學習?

引入自然語言工具包(NLTK) 引入自然語言工具包(NLTK) Mar 01, 2025 am 10:05 AM

引入自然語言工具包(NLTK)

See all articles