【问题标题】: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。

标签: python pandas dataframe dictionary data-science


【解决方案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()})

【讨论】:

    猜你喜欢
    • 2019-08-24
    • 2021-04-10
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2018-05-03
    • 2021-07-14
    • 2021-08-14
    相关资源
    最近更新 更多