我的代码:
我的期望输出:
我想我应该使用join或merge,但是当我尝试这些方法时,会导致列数增加。 我已经用循环完成了这个任务,但被要求让我的代码更简洁。
d = [{"cityId": 111, "regionId": 111, 'data':[{'code': 'ABC', 'date': '2023-11-11 02:00', 'value': 300}, {'code': 'ABC', 'date': '2023-11-12 02:00', 'value': 300}]},
{"cityId": 211, "regionId": 211, 'data':[{'code': 'XYZ', 'date': '2023-11-11 02:00', 'value': 300}, {'code': 'XYZ', 'date': '2023-11-12 02:00', 'value': 300}]}]
df = pandas.DataFrame(data=d)
new_df = df.explode('data')['data']
new_df = json_normalize(new_df)
我的当前输出:
cityId regionId data
0 111 111 [{'code': 'ABC', 'date': '2023-11-11 02:00', '...
1 211 211 [{'code': 'XYZ', 'date': '2023-11-11 02:00', '...
code date value
0 ABC 2023-11-11 02:00 300
1 ABC 2023-11-12 02:00 300
2 XYZ 2023-11-11 02:00 300
3 XYZ 2023-11-12 02:00 300
我的期望输出:
code date value cityId regionId
0 ABC 2023-11-11 02:00 300 111 111
1 ABC 2023-11-12 02:00 300 111 111
2 XYZ 2023-11-11 02:00 300 211 211
3 XYZ 2023-11-12 02:00 300 211 211
我想我应该使用join或merge,但是当我尝试这些方法时,会导致列数增加。 我已经用循环完成了这个任务,但被要求让我的代码更简洁。