在 Pandas 中載入 JSON 檔案
- 將 JSON 檔案載入到 Pandas DataFrame 中
- 將面向索引的 JSON 檔案載入到 Pandas DataFrame 中
- 將面向列的 JSON 檔案載入到 Pandas DataFrame 中
本教程介紹瞭如何使用 pandas.read_json()
方法將一個 JSON 檔案載入到 Pandas DataFrame 中。
將 JSON 檔案載入到 Pandas DataFrame 中
我們可以使用 pandas.read_json()
函式將 JSON 檔案的路徑作為引數傳遞給 pandas.read_json()
函式,將 JSON 檔案載入到 Pandas DataFrame 中。
{
"Name": {"1": "Anil", "2": "Biraj", "3": "Apil", "4": "Kapil"},
"Age": {"1": 23, "2": 25, "3": 28, "4": 30},
}
示例 data.json
檔案的內容如上所示。我們將從上述 JSON 檔案中建立一個 DataFrame。
import pandas as pd
df = pd.read_json("data.json")
print("DataFrame generated using JSON file:")
print(df)
輸出:
DataFrame generated using JSON file:
Name Age
1 Anil 23
2 Biraj 25
3 Apil 28
4 Kapil 30
它顯示的是由 data.json
檔案中的資料生成的 DataFrame。我們必須確保在當前工作目錄下有 data.json
檔案才能生成 DataFrame,否則我們需要提供 JSON 檔案的完整路徑作為 pandas.read_json()
方法的引數。
由 JSON 檔案形成的 DataFrame 取決於 JSON 檔案的方向。我們一般有三種不同的 JSON 檔案的面向。
- 面向索引
- 面向值
- 面向列
將面向索引的 JSON 檔案載入到 Pandas DataFrame 中
{
"0": {"Name": "Anil", "Age": 23},
"1": {"Name": "Biraj", "Age": 25},
"2": {"Name": "Apil", "Age": 26},
}
這是一個面向索引的 JSON 檔案的例子,其中頂層鍵代表資料的索引。
import pandas as pd
df = pd.read_json("data.json")
print("DataFrame generated from Index Oriented JSON file:")
print(df)
輸出:
DataFrame generated from Index Oriented JSON file:
0 1 2
Name Anil Biraj Apil
Age 23 25 26
它將從 data.json
檔案中建立一個 DataFrame,頂層鍵在 DataFrame 中表示為列。
將面向值的 JSON 檔案載入到 Pandas DataFrame 中
[["Anil", 23], ["Biraj", 25], ["Apil", 26]]
這是一個面向值的 JSON 檔案的例子,陣列中的每個元素代表每一行的值。
import pandas as pd
df = pd.read_json("data.json")
print("DataFrame generated from Value Oriented JSON file:")
print(df)
輸出:
DataFrame generated from Value Oriented JSON file:
0 1
0 Anil 23
1 Biraj 25
2 Apil 26
它將從 data.json
檔案中建立一個 DataFrame,JSON 檔案中陣列的每個元素將在 DataFrame 中表示為一行。
將面向列的 JSON 檔案載入到 Pandas DataFrame 中
{"Name": {"1": "Anil", "2": "Biraj", "3": "Apil"}, "Age": {"1": 23, "2": 25, "3": 28}}
它是一個面向列的 JSON 檔案頂層索引的例子,代表資料的列名。
import pandas as pd
df = pd.read_json("data.json")
print("DataFrame generated from Column Oriented JSON file:")
print(df)
輸出:
DataFrame generated from Column Oriented JSON file:
Name Age
1 Anil 23
2 Biraj 25
3 Apil 28
它將從 data.json
檔案中建立一個 DataFrame,JSON 檔案的頂層索引將作為 DataFrame 中的列名。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn