Python 将dict的嵌套列表展平到数据帧中

Python 将dict的嵌套列表展平到数据帧中,python,json,pandas,dictionary,nested,Python,Json,Pandas,Dictionary,Nested,我正在阅读下面的json结构 {"response": {"GDUEACWF": {"2018-06-01": [{"groupwide_market":"Developed Markets", "weights":0.8794132316432903}, {"groupwide_market":"Developed Markets", "weights":0.87941323

我正在阅读下面的json结构

{"response":
    {"GDUEACWF":
        {"2018-06-01":
            [{"groupwide_market":"Developed Markets",
            "weights":0.8794132316432903},
            {"groupwide_market":"Developed Markets",
            "weights":0.8794132316432903}],
        "2018-06-02":
            [{"groupwide_market":"Developed Markets",  
            "weights":0.8794132316432903},
            {"groupwide_market":"Developed Markets",
            "weights":0.8794132316432903}]}}}
并尝试将其展平为以下格式的数据帧

|data_date  |groupwide_market  |weights
|2018-06-01 |Developed Markets |0.08794132316432903
我试着通过使用下面的代码循环每个k,v对中的每个列表来实现这一点。它确实起作用,但是它也很慢。生成10万行数据需要30分钟以上

df = pd.DataFrame()
#concatenating each line of the list within each dict cell
for k1,v1 in data['response'][mnemonic].items():
    for ele in v1:
        df_temp = pd.concat({k2: pd.Series(v2) for k2, v2 in ele.items()}).transpose()
        df_temp['data_date'] = k1
        df = df.append(df_temp,ignore_index=True)
df.columns = [x[0] for x in df.columns]
请问有没有更有效的方法?尝试阅读json_normalize的文档和示例,但无法将其应用于此上下文


提前谢谢

假设字典为
数据
,我们可以按以下步骤进行操作:

import pandas as pd
pd.DataFrame([(date, *nodes.values()) for info in data["response"].values()
              for date, values in info.items() for nodes in values],
              columns=["date", "market", "weight"])
使用给定响应作为输入,输出如下: