如何将python字典转换为所需的数据框输出? [复制]

Posted

技术标签:

【中文标题】如何将python字典转换为所需的数据框输出? [复制]【英文标题】:how to convert python dictionary into required data frame output? [duplicate] 【发布时间】:2021-08-30 16:49:06 【问题描述】:

假设我收到了 api 响应

response= 
'id': 'abc':['area_code':'mkt','area_name':'market','area_code':'chdi','area_name':'chandani'],
'xyz':['area_code':'rlr','area_name':'rural','area_code':'rwl_st','area_name':'railway station']

我想把它转换成数据框 as (expected output as)

我的努力:pd.json_normalize(response).apply(pd.Series.explode)

但是没用

【问题讨论】:

response 当前不是有效的 Python 字典。 不要两次添加相同的问题。下次解决原来的问题。 【参考方案1】:

您的回复必须如下所示:

response = 
   "id":
      "abc":[
         
            "area_code":"mkt",
            "area_name":"market"
         ,
         
            "area_code":"chdi",
            "area_name":"chandani"
         
      ],
      "xyz":[
         
            "area_code":"rlr",
            "area_name":"rural"
         ,
         
            "area_code":"rwl_st",
            "area_name":"railway station"
         
      ]
   

之后,您必须创建另一个结构,因为json_normalize 与字典列表一起使用,并且其中必须包含id

new_response = ["id": rid, **r for rid in response["id"] for r in response["id"][rid]]

最后你只需要应用函数:

final_result = pd.json_normalize(new_response)

【讨论】:

以上是关于如何将python字典转换为所需的数据框输出? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将数据帧转换为所需的字典格式

将python中的LIST转换为所需的输出

如何将此混合行/列表转换为所需的输出。 (Oracle SQL/发行版:Ora12c)

如何查询/将数据转换为所需的格式

如何将熊猫系列转换为所需的 JSON 格式?

xsl 未转换为所需的输出