python - 将字典列表解压到 pandas 数据框中的列表中

标签 python list pandas dictionary dataframe

我有一个 pandas 数据框,其中包含一列字典列表。

    list_dicts
id  
a1  [{name:'cat'}, {name:'dog'}]
a2  [{name:'toy'}, {name:'boy'}] 
a3  [{name:'jack'},{name:'jill'},{name:'sam'}] 
a4  [{name:'pig'}] 

字典列表中的每个键都是“name”。我想创建与“名称”键关联的所有值的列表,并将新列附加到现有数据帧,如下所示。

    list_from_dict
id  
a1  ['cat','dog']
a2  ['toy','boy'] 
a3  ['jack','jill','sam'] 
a4  ['pig'] 

我怎样才能实现这个目标?我知道它可能会使用 lambda 函数,但不确定如何使用。

最佳答案

您可以通过列表理解来完成此操作,而无需在一行中使用 lambda 函数:

df['list_from_dict'] = [[x['name'] for x in list_dict] for list_dict in df['list_dicts']]

关于python - 将字典列表解压到 pandas 数据框中的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929378/

相关文章:

python - 类型错误 : 'list' object is not callable: why?

python - 在 python pandas 中构造一个共现矩阵

python - 在Python中比较两个数据帧值

python - 等同于 Python 中 R 的 createDataPartition

python - 将环境变量注入(inject)字符串路径

python - 如何使用嵌套循环打印嵌套列表?

python - 如何放大绘图中的子集(在 matplotlib 中)?

python - 为什么 python 列表理解有时不受欢迎?

jquery - 如何在单个 django View 中传递多个 ajax 调用

python - 列表的自定义排序顺序