列表中的几个字典到数据框的列

Posted

技术标签:

【中文标题】列表中的几个字典到数据框的列【英文标题】:Several dictionaries in a list to columns of a dataframe 【发布时间】:2021-12-08 14:48:36 【问题描述】:

我有一个字典列表示例,如下所示

NaN = np.nan
cols = [ 'A':['Orange', 'Lemon', NaN, 'Peach'],
         'B':['Tiger', NaN, NaN, 'Lion'],
         'C':['London', 'New York', 'Bangalore', NaN],
         'D':['Cricket', 'BaseBall', 'Football', 'Tennis']
       ]

我想将其转换为数据框的列。字典的键应该是列名。这些值应该是数据框的相应行。

最终输出应如下图所示。

非常感谢任何帮助。谢谢!

【问题讨论】:

这能回答你的问题吗? Convert Python dict into a dataframe @Mahrkeenerh 不,它没有。我的情况与您标记我的帖子不同。请务必查看并注意其中的区别。谢谢。 当前问题是cols 不是python 中的有效结构。但假设它是,你可能只是扁平化然后构建 -> df = pd.DataFrame(k: v for d in cols for k, v in d.items()) How do I merge a list of dicts into a single dict? @HenryEcker 我已经编辑了这个问题。这些值都是字符串数据类型,除了 NaN。 【参考方案1】:
import pandas as pd

cols = [ 'A':['Orange', 'Lemon', 'NaN', 'Peach'],
         'B':['Tiger', 'NaN', 'NaN', 'Lion'],
         'C':['London', 'New York', 'Bangalore', 'NaN'],
         'D':['Cricket', 'BaseBall', 'Football', 'Tennis']
       ]
       
df = pd.DataFrame(k: v for d in cols for k, v in d.items())

【讨论】:

以上是关于列表中的几个字典到数据框的列的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试在另一个数据框的列中查找数据框中的列的元素,但 index() 对我不起作用

Python Pandas:如何在数据框的列中拆分已排序的字典

来自数据框的嵌套字典,带有循环列表

将来自一个数据框的值合并到 Pandas 中的新列中[重复]

将字典映射到数据框列中的列表

将DataTable的几列序列化为xml并将其存储在数据库中的列中