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

如何基于DataFrame动态计算候选人技能匹配百分比(规避硬编码)

动态计算候选人技能匹配百分比方案

核心思路

直接基于现有带两级MultiIndex列的DataFrame完成计算,全程动态获取技能分类与数据,无需硬编码构造列索引和原始数据:

  • 确认现有DataFrame的列结构:第一级为optional/mandatory分类,第二级为技能名称,索引为候选人姓名
  • 通过MultiIndex层级筛选,自动提取所有mandatory类型的技能列
  • 保留原匹配规则,用动态获取的参数替代硬编码值

实现代码

import pandas as pd

# 假设此处已加载好你的目标DataFrame(即Output1中的DataFrame),变量名为df
# 无需手动构造cols和data,直接使用加载后的df即可

def calculate_skill_coverage_percent(row):
    # 动态筛选当前行的所有必填技能值
    mandatory_skills = row[row.index.get_level_values(0) == 'mandatory']
    # 检查是否所有必填技能都达标
    if mandatory_skills.sum() < len(mandatory_skills):
        return 0.0
    # 计算总技能匹配百分比
    total_skill_count = len(row)
    matched_skill_count = row.sum()
    return round((matched_skill_count / total_skill_count) * 100, 2)

# 新增匹配百分比列
df['Percent_Match(%)'] = df.apply(calculate_skill_coverage_percent, axis=1)

print(df)

关键说明

  • 所有技能分类、技能名称均从现有DataFrame的MultiIndex中动态提取,完全适配技能列表的变化
  • 百分比结果保留两位小数,可根据需求调整round函数的精度参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:40:35