You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从含字典列的DataFrame中筛选Job Details含Engineer的行?

提取包含Engineer键的DataFrame行

你可以通过apply()结合lambda函数,检查Job Details列的每个字典是否包含'Engineer'键,进而筛选出符合条件的行,具体实现如下:

import pandas as pd

# 构建示例DataFrame
data = {
    'Name of worker': ['Alice', 'Bob', 'Charlie'],
    'Job Details': [
        {'Engineer': {'company': 'Oracle', 'department': 'Quality'}},
        {'Periodist': {'company': 'Goal to Goal', 'department': 'Sports'}},
        {'Engineer': {'company': 'Google', 'department': 'DevOps'}}
    ]
}
df = pd.DataFrame(data)

# 筛选目标行
filtered_df = df[df['Job Details'].apply(lambda x: 'Engineer' in x.keys())]

print(filtered_df)

说明

  • df['Job Details'].apply(lambda x: 'Engineer' in x.keys()):遍历Job Details列的每个字典元素,判断'Engineer'是否为字典的顶层键,返回一组布尔值组成的Series。
  • 用该布尔Series作为索引,即可提取出所有符合条件的行。

如果存在字典为空或非字典类型的异常数据,可添加类型判断避免报错:

filtered_df = df[df['Job Details'].apply(lambda x: isinstance(x, dict) and 'Engineer' in x.keys())]

内容的提问来源于stack exchange,提问作者Ignpl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:05:31