如何提取DataFrame中字典列表字段的title值生成新列表列
你可以直接使用pandas的apply方法搭配列表推导式实现需求,你之前提到的取字典键的方法不适用这个场景,因为你需要的是所有字典中title键对应的值,不是字典的键集合,直接遍历提取指定字段即可,示例代码如下:
import pandas as pd # 假设你的DataFrame变量名为df df['title_list'] = df['answers'].apply(lambda ans_list: [item['title'] for item in ans_list])
代码说明
apply会逐行遍历answers列,每一轮传入的ans_list就是当前行的字典列表- 内层的列表推导式会遍历
ans_list里的每一个字典,提取title字段的值组成新列表 - 如果当前行的
answers是空列表,列表推导式会自动返回空列表,完全匹配你的预期输出
如果怕部分字典不存在title字段导致报错,可以加个字段存在性判断,优化后的代码如下:
df['title_list'] = df['answers'].apply(lambda ans_list: [item['title'] for item in ans_list if 'title' in item])
内容的提问来源于stack exchange,提问作者futuredataengineer
相关产品推荐
相关产品推荐

