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

使用Pandas按职位标题分组,将资格拼接为分隔列表

使用Pandas实现按职位标题分组汇总资格要求

没问题,这事儿用Pandas的分组+自定义聚合就能轻松搞定,我会结合你给的数据集场景(包括多资格职位和无资格职位)一步步演示:

1. 先准备示例数据

我补全了你截断的数据集,还加了一个无资格要求的职位案例,方便你测试:

import pandas as pd

data = {
    "JobID": [34455226, 34455226, 34466933, 34466111, 34477888],
    "Job Title": [".Net Developer", ".Net Developer", ".Net Developer", ".Net Developer", "Data Analyst"],
    "Qualification ID": ["ICT50715", "ICT40515", "ICT50715", None, None],
    "Qualification Name": [
        "Diploma of Software Development",
        "Certificate IV in Programming",
        "Diploma of Software Development",
        None,
        None
    ]
}

df = pd.DataFrame(data)

2. 核心分组汇总代码

关键是用groupby按职位标题分组,再用自定义聚合函数把资格名称拼接成分隔符分隔的列表,同时处理空值场景:

# 按Job Title分组,将Qualification Name汇总为逗号分隔的列表
result = df.groupby("Job Title")["Qualification Name"].agg(
    lambda x: ", ".join(x.dropna().astype(str)) if not x.dropna().empty else "无资格要求"
).reset_index()

# 查看结果
print(result)

3. 代码逻辑说明

  • groupby("Job Title"):把数据按职位标题划分成独立的分组
  • 自定义聚合函数:
    • 先用x.dropna()过滤掉组内的空值资格记录
    • 如果组内存在有效资格,用", ".join()把它们拼接成字符串;如果没有有效资格,就返回"无资格要求"
  • reset_index():把分组后的索引转为普通列,让结果格式更规整易读

4. 最终输出结果

运行代码后会得到如下结果:

Job Title                                  Qualification Name
0    .Net Developer  Diploma of Software Development, Certificate IV in Programming
1      Data Analyst                                      无资格要求

如果需要更换分隔符(比如分号、换行符),只需要把代码中的", ".join改成你需要的分隔符拼接即可~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:33:30