首页 > 解决方案 > 我正在将字典转换为 python 中的数据框,并且输出已更改

问题描述

我正在将字典转换为 python 中的数据框,并且输出已更改。我在这里写错了吗。在字典输出中,我们有 1 次源 ID,但在转换为 4 次数据帧源 ID 后,我希望 parsed_address 应该是多值的。我只希望数据框中的字典输出相同。

字典输出:

迪克--->

{
   "source_id":123,
   "parsed_address":[
      {
         "address_type":"Primary",
         "address":[
            {
               "address_line_1":"18 Atherton",
               "address_line_2":"nan"
            }
         ]
      },
      {
         "address_type":"directory",
         "address":[
            {
               "address_line_1":"130 E Chapman Ave Apt 312",
               "address_line_2":"nan"
            }
         ]
      },
      {
         "address_type":"home",
         "address":[
            {
               "address_line_1":"9722 Walnut St",
               "address_line_2":"nan"
            }
         ]
      },
      {
         "address_type":"work",
         "address":[
            {
               "address_line_1":"1325 S Grand Ave",
               "address_line_2":"nan"
            }
         ]
      }
   ]
}

数据帧输出:

  [
   {
      "parsed_address":{
         "address_type":"Primary",
         "address":[
            {
               "address_line_1":"18 Atherton",
               "address_line_2":null
            }
         ]
      },
      "source_id":"90353002"
   },
   {
      "parsed_address":{
         "address_type":"directory",
         "address":[
            {
               "address_line_1":"130 E Chapman Ave Apt 312",
               "address_line_2":null
            }
         ]
      },
      "source_id":"90353002"
   },
   {
      "parsed_address":{
         "address_type":"home",
         "address":[
            {
               "address_line_1":"9722 Walnut St",
               "address_line_2":null
            }
         ]
      },
      "source_id":"90353002"
   },
   {
      "parsed_address":{
         "address_type":"work",
         "address":[
            {
               "address_line_1":"1325 S Grand Ave",
               "address_line_2":null
            }
         ]
      },
      "source_id":"90353002"
   }
]

代码

print("dic--->",dic)
df4 = pd.DataFrame(dic)
print("df4--->",df4)

Converted dictionary to dataframe and output has changed.

标签: pythonjsondictionary

解决方案


这是标量值的回收。
这种行为也是您可以将标量分配给新列并且行数保持不变的原因。
您可以将解析后的地址包装到另一个列表中以获取单行。


推荐阅读