如何提取DataFrame某列字典列表中的值并生成新列表列
实现代码
假设存储字典列表的列名为dict_list_col,生成的新列命名为title_list,有两种常用实现方式:
方式1:apply方法(易读性高)
import pandas as pd # 提取title值生成列表,自动适配所有行 df['title_list'] = df['dict_list_col'].apply(lambda x: [d['title'] for d in x if 'title' in d])
方式2:原生列表推导(性能更优,适合大数据量场景)
df['title_list'] = [[d['title'] for d in row if 'title' in d] for row in df['dict_list_col']]
说明
- 代码中
if 'title' in d的判断用于规避部分字典不存在title键的报错问题,如果你确认所有字典都携带title键,可以直接删除该判断逻辑 - 执行完成后
title_list列的每一行值都是对应行所有字典title字段组成的列表,符合输出要求
内容的提问来源于stack exchange,提问作者Khutso Mphelo
相关产品推荐
相关产品推荐

