首页 > 解决方案 > 将字典列表存储为 DataFrame

问题描述

假设我有字典列表

 l = [{'car':'good'},
      {'mileage':'high'},
      {'interior':'stylish'},
      {'car':'bad'},
      {'engine':'powerful'},
      {'safety':'low'}]

基本上这些是名词-形容词对。

  1. 我如何可视化与这里说汽车最相关的形容词列表。
  2. 如何将其转换为数据框?,我试过pd.Dataframe(l) 了,但这里的关键不是列名,所以这里有点棘手。

任何帮助,将不胜感激。

样本输出

标签: pythonpandaslistdataframedictionary

解决方案


鉴于您希望按列完成此操作,那么您必须重新构建您的字典列表。您需要有一本字典来表示一行。因此,您的示例列表应该是(我添加了第二行以便更好地解释):

 l = [
     {'car':'good','mileage':'high','interior':'stylish','car':'bad','engine':'powerful','safety':'low'}, # row 1
     {'car':'bad','mileage':'low','interior':'old','car':'bad','engine':'powerful','safety':'low'} # row 2
 ]

此时,您所要做的就是调用pd.DataFrame(l).

编辑:根据您的评论,我认为您需要将字典转换为列表以获得所需的结果。这是一个快速的方法(我相信它可以更有效):

l = [{'car':'good'},
      {'mileage':'high'},
      {'interior':'stylish'},
      {'car':'bad'},
      {'engine':'powerful'},
      {'safety':'low'}]

new_list = []
for item in l:
    for key, value in item.items():
        temp = [key,value]
        new_list.append(temp)

df = pd.DataFrame(new_list, columns=['Noun', 'Adjective'])

推荐阅读