Python中去除DataFrame重复值并转换为指定JSON对象的方法
问题:将DataFrame转换为指定格式的JSON对象
原始DataFrame结构
Name Series ============================= A A1 B B1 A A2 A A1 B B2
目标JSON格式
{ "A": ["A1", "A2"], "B": ["B1", "B2"] }
错误尝试代码
test = df.groupby("Series")[["Name"]].apply(lambda x: x)
解决方法
你之前的分组键搞反了,应该按Name分组而非Series,以下是正确实现步骤:
1. 生成目标字典
# 按Name分组,对Series列去重后转为列表,再转成字典 result = df.groupby('Name')['Series'].unique().apply(list).to_dict()
2. 转为格式化的JSON字符串(可选)
如果需要直接输出JSON格式的字符串,可借助json模块:
import json json_result = json.dumps(result, indent=2) print(json_result)
代码说明
groupby('Name')['Series']:以Name作为分组键,仅处理Series列.unique():对每个分组内的Series值去重,剔除重复项.apply(list):将去重后的numpy数组转换为普通Python列表.to_dict():将分组聚合结果转换为键为Name、值为去重列表的字典json.dumps(..., indent=2):把字典格式化为带缩进的JSON字符串,完全匹配目标格式
内容的提问来源于stack exchange,提问作者SM079
相关产品推荐
相关产品推荐

