將巢狀JSON 讀取為Pandas DataFrame
要將包含巢狀物件的JSON 檔案讀取為Pandas DataFrame,您可以使用強大的json_normalize功能。此函數可讓您將巢狀資料結構展平為表格格式,更容易操作和分析資料。
將陣列擴展為列
您的範例 JSON 包含一系列位置。您可以將此數組擴展為單獨的列,以更好地了解數據,而不是將其保留為 JSON 列。 json_normalize 可以透過元參數來實現這一點。它指定哪些列應取消嵌套並作為常規列包含在 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>
此程式碼將為從位置陣列衍生的 depTime 和 arrTime 附加資料列建立一個 DataFrame。
加入位置列
您提到您想要加入位置列。這可以使用以下程式碼完成:
<code class="python">df['locations'] = df.locations.apply(','.join)</code>
這會將位置連接成一個逗號分隔的字串。
處理多個JSON 物件
如果您的JSON 檔案包含多個JSON 物件(每行一個),您可以使用以下程式碼:
<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中文網其他相關文章!