我有一个JSON的列表,我需要分组的'天'字段和格式。下面是一个数据的例子,以及最终的输出应该是什么样子。
data = [{'info': {'area': 'USA', 'other': 'cat'}, 'day': '1-1-2012', 'num': 12},
{'info': {'area': 'KSA', 'other': 'bat'}, 'day': '1-1-2012', 'num': 52},
{'info': {'area': 'KSA', 'other': 'fat'}, 'day': '4-3-2012', 'num': 34},]
所需输出应为:
[{'1-1-2012': {'area' : {'USA', 'KSA'}, 'num': {12, 52}}, '4-3-2012': {'area': {'KSA'}, 'num': {34}}}]
我尝试使用pd.json_normmalize()将整个列表首先转换为一个嵌套框架,但我相信有一种更简单的方法可以实现上述输出。
谢谢你,谢谢
2条答案
按热度按时间slhcrj9b1#
假设你从
data
创建的一个框架开始,你可以提取面积值,groupby
天,然后转换回JSON:示例数据的输出:
请注意,如果您实际想要的输出是一个包含值集的字典,您可以将聚合更改为
set
,并将对to_json
的调用替换为to_dict
:输出量:
j2datikz2#
我认为你想要的数据结构可能在某些基本方面是错误的,但是为了论证的目的,假设这种有损转换 * 是 * 你想要的,你可以这样做:
其给出: