在 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