将字典列表的字典转换为 Pandas 数据框

Din*_*esh 4 python dataframe pandas

我在下面给出的结构中有一个字典,我需要将它转换为 Pandas Dataframe 来执行一些聚合操作。但我无法将其转换为给定的输出格式

{
  "raj": [
    {
      "subject": "science",
      "score": "35",
      "create_time": "1595990288421"
    },
    {
      "subject": "maths",
      "score": "40",
      "create_time": "1595980800000"
    }
  ],
  "dev": [
    {
      "subject": "science",
      "score": "23",
      "create_time": "1595990288421"
    }
  ],
  "mag":[
    {
      "subject": "science",
      "score": "41",
      "create_time": "1595990288421"
    },
    {
      "subject": "maths",
      "score": "25",
      "create_time": "1595980800000"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我需要输出数据帧采用给定格式

name    subject     score   create_time
------------------------------------------
raj     science     35      1595990288421
raj     maths       40      1595980800000
dev     science     23      1595990288421
mag     science     35      1595990288421
mag     maths       25      1595980800000
Run Code Online (Sandbox Code Playgroud)

谁能帮我将字典转换为所需的数据帧输出?

Rak*_*esh 7

使用列表理解

前任:

df = pd.DataFrame([{'name': k, ** j} for k, v in data.items() for j in v])
print(df)
Run Code Online (Sandbox Code Playgroud)

输出:

  name  subject score    create_time
0  raj  science    35  1595990288421
1  raj    maths    40  1595980800000
2  dev  science    23  1595990288421
3  mag  science    41  1595990288421
4  mag    maths    25  1595980800000
Run Code Online (Sandbox Code Playgroud)