将 JSON 字符串加载到 Pandas DataFrame 中
简介
理解、净化和处理数据以获得有洞察力的知识并做出明智的判断是数据科学和机器学习的艺术。Python 强大的模块(如 Pandas 和 json)使这项工作变得更加简单。JSON(代表 JavaScript 对象表示法)是一种流行的 Web 数据交换标准。另一方面,Pandas DataFrame 提供了一个有效的结构来存储和操作 Python 中的表格数据。
本文提供了一个完整的教程,其中包含有用的示例,介绍如何将 JSON 字符串导入到 Pandas DataFrame 中。
先决条件
确保您的 Python 环境已安装 Pandas 和 json 库。您可以使用 pip 安装它们
pip install pandas
将 JSON 字符串加载到 Pandas DataFrame 中
示例 1:加载简单的 JSON 字符串
让我们从一个简单的 JSON 字符串开始。在将 JSON 文本加载到 DataFrame 之前,Python 中的 json 模块首先会将其转换为 Python 字典。
import pandas as pd import json # JSON string json_string = '{"name": "John", "age": 30, "city": "New York"}' # Convert JSON string to Python dictionary data = json.loads(json_string) # Convert dictionary to DataFrame df = pd.DataFrame(data, index=[0]) print(df)
输出
name age city 0 John 30 New York
示例 2:加载包含多个对象的 JSON 字符串
现在让我们处理一个包含多个对象的 JSON 字符串。在这种情况下,DataFrame 中的每一行都对应于 JSON 文本中的一个对象。
import pandas as pd import json # JSON string json_string = '[{"name": "John", "age": 30, "city": "New York"},{"name": "Jane", "age": 25, "city": "Chicago"}]' # Convert JSON string to Python list of dictionaries data = json.loads(json_string) # Convert list of dictionaries to DataFrame df = pd.DataFrame(data) print(df)
输出
name age city 0 John 30 New York 1 Jane 25 Chicago
示例 3:加载嵌套的 JSON 字符串
嵌套的 JSON 字符串需要稍微复杂一些的处理。可以将每个嵌套对象视为一个单独的 DataFrame,可以将其与主 DataFrame 合并。
import pandas as pd import json # Nested JSON string json_string = '{"employee":{"name": "John", "age": 30, "city": "New York"}, "company":{"name": "ABC Corp", "location": "USA"}}' # Convert JSON string to Python dictionary data = json.loads(json_string) # Convert each nested dictionary to a DataFrame and merge df_employee = pd.DataFrame(data['employee'], index=[0]) df_company = pd.DataFrame(data['company'], index=[0]) df = pd.concat([df_employee, df_company], axis=1) print(df)
输出
name age city name location 0 John 30 New York ABC Corp USA
由于它存在于两个嵌套字典中,“name”列在该 DataFrame 中出现两次。请确保正确重命名列以避免混淆。
结论
在 Python 中处理 Web 数据时,一个常见的操作是将 JSON 字符串加载到 Pandas DataFrame 中。即使是复杂的 JSON 字符串,也可以使用 Pandas 和 json 包有效地加载到 DataFrame 中,以进行进一步的数据分析和操作。
如果您了解如何将 JSON 字符串加载到 DataFrame 中,那么您将拥有一个坚实的基础来挖掘 JSON 数据以获得见解。凭借这些知识,您可以更有效地加载、处理和可视化数据,从而提高作为数据科学家、数据分析师或机器学习工程师的生产力。由于 JSON 是 Web 上数据传输的全球标准,因此这些技能对于许多数据驱动的应用程序和项目都将非常有用。