【问题标题】:Convert nested list of dictionaries to pandas DataFrame将嵌套的字典列表转换为 pandas DataFrame
【发布时间】:2019-05-27 01:15:21
【问题描述】:

谁能建议我一种将字典列表转换为熊猫数据框的有效方法?

Input = [[{'name':'tom','roll_no':1234,'gender':'male'},
          {'name':'sam','roll_no':1212,'gender':'male'}],
          [{'name':'kavi','roll_no':1235,'gender':'female'},
          {'name':'maha','roll_no':1211,'gender':'female'}]]

提供的示例输入中的字典键相同,预期的输出是,

Output =      name       roll_no       gender
          0   tom        1234          male
          1   sam        1212          male
          2   kavi       1235          female
          3   maha       1211          female

【问题讨论】:

  • 请查看链接的副本,尤其是my answer该问题。
  • 您的答案中的“总结”部分涵盖了列表中的嵌套字典,但不是我所要求的,即带有字典的列表中的嵌套列表。
  • 哦,嗯,只是展平列表; from itertools import chain; pd.DataFrame(list(chain.from_iterable(Input))) 很简单。
  • 感谢您的回答。你在 [stackoverflow.com/questions/20638006/… 中的回答中提到了吗?
  • 你是对的,它不是。将重新开放。

标签: python python-3.x pandas list dictionary


【解决方案1】:

您需要使用itertools.chain 展平您的输入,然后您可以调用pd.DataFrame 构造函数。

from itertools import chain
pd.DataFrame(list(chain.from_iterable(data)))

   gender  name  roll_no
0    male   tom     1234
1    male   sam     1212
2  female  kavi     1235
3  female  maha     1211

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 2013-11-16
    • 2019-04-08
    • 2023-02-10
    • 2018-10-22
    • 1970-01-01
    • 2019-12-09
    相关资源
    最近更新 更多