如何使用 Python Pandas 库将 JSON 文件读入 DataFrame?
JSON 代表 JavaScript 对象表示法,它以键/值对的形式存储文本数据,这是一种人类可读的数据格式。这些 JSON 文件通常用于在 Web 上交换数据。JSON 对象用大括号 ({}) 表示。JSON 的每个键/值对都用逗号分隔。
JSON 数据看起来与 Python 字典非常相似,但 JSON 是一种数据格式,而字典是一种数据结构。为了将 JSON 文件读入 Pandas DataFrame,我们使用 Pandas 库中的 read_json 方法。以下示例概述了如何将 JSON 文件读入 Pandas DataFrame。
示例
将本地 JSON 文件读入 Pandas DataFrame
#导入 Pandas 包 import pandas as pd # 读取 JSON 文件 df = pd.read_json('E:\iris.json') # 显示示例输出 df.sample(5)
解释
在上面的代码中,我们使用 pd.read_json 方法将本地 JSON 文件读入 df 变量,并将 JSON 文件位置作为字符串传递给此方法。此方法会自动将 JSON 文件中的数据转换为 DataFrame。首先,我们将 Pandas 包导入为 pd。最后,在最后一行,我们将来自 DataFrame 的 5 条样本行显示为输出。
输出
sepalLength sepalWidth petalLength petalWidth species 149 5.9 3.0 5.1 1.8 virginica 90 5.5 2.6 4.4 1.2 versicolor 56 6.3 3.3 4.7 1.6 versicolor 38 4.4 3.0 1.3 0.2 setosa 85 6.0 3.4 4.5 1.6 versicolor
鸢尾花 JSON 数据集/文件被用作 read_json 方法的输入,该数据集包含 5 列 150 行数据。在此输出块中,我们仅使用 df.sample() 方法显示了 5 行数据样本。此方法随机返回 DataFrame 中的数据。
同样,我们可以读取远程 JSON 数据,只需在文件路径中输入远程 URL 即可。
示例
import pandas as pd data = pd.read_json( 'http://universities.hipolabs.com/search?country=United+Kingdom') print(data)
解释
在此示例中,我们使用了一个以 JSON 格式保存数据的公共 HTTP API。这里同样使用了 read_json 方法来读取这个远程 URL 的 JSON 数据。
输出
domains | web_pages | name | alpha _two_ code | state-province | country | |
---|---|---|---|---|---|---|
0 | [abdn.ac.UK, Aberdeen.ac.uk] | [www.abdn.ac.uk/] | University of Aberdeen | GB | NaN | United Kingdom |
1 | [aber.ac.uk] | [www.aber.ac.uk/] | University of Wales, Aberystwyth | GB | NaN | United Kingdom |
2 | [abertay.ac.uk] | [www.abertay.ac.uk/] | University of Abertay Dundee | GB | NaN | United Kingdom |
3 | [aiuniv.edu] | [www.aiuniv.edu/] | American InterContinental University - London | GB | NaN | United Kingdom |
4 | [aku.edu] | [www.aku.edu/] | Aga Khan University | GB | NaN | United Kingdom |
此输出包含来自 read_json 方法的 4 行 JSON 数据示例,这是来自公共 URL 的数据,它有 171 行和 6 列。