如何将Pandas DataFrame转换为指定格式的JSON字符串?
Pandas DataFrame转特定JSON结构的实现
可以通过Pandas的groupby分组聚合功能快速实现需求,具体操作如下:
- 按
country字段分组,将每个组内的city字段聚合为列表 - 将分组后的结果转换为目标格式的字典列表
完整代码示例
import pandas as pd import json # 原始DataFrame data1 = pd.DataFrame( { "country": ["USA", "USA", "USA", "Canada", "Canada", "Canada", "Japan", "Japan", "Germany", "Germany", "Germany", "Germany"], "city": ["Boston", "NY", "LA", "Montreal", "Vancouver", "Calgary", "Osaka", "Kyoto","Berlin", "Frankfurt", "Hamburg", "Dresden"] } ) # 转换为目标格式的字典列表 data2 = ( data1.groupby("country")["city"] .apply(list) .reset_index() .to_dict("records") ) # 转换为格式化的JSON字符串 data2_json = json.dumps(data2, indent=4) # 输出结果验证 print(data2) print(data2_json)
代码说明
groupby("country")["city"]:按国家对城市列进行分组apply(list):将每个国家对应的所有城市合并为一个列表reset_index():将分组后的索引转换为普通列,保证结构完整to_dict("records"):将DataFrame转换为字典列表,完全匹配你需要的data2格式
内容的提问来源于stack exchange,提问作者Elmar
相关产品推荐
相关产品推荐

