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

如何用Python高效抽取特定Team Leader下属Agent的BPO呼叫审核样本及编写批量抽样函数

高效抽取特定Team Leader下属Agent的呼叫审核样本(Python实现)

核心思路

针对你手动逐个处理Agent的冗余代码问题,我们可以利用pandas的分组功能+Agent-Team Leader映射表,一次性完成所有Agent的样本抽取,并按Team Leader归类,彻底消除重复代码。

前提准备

首先需要维护一份Agent与Team Leader的映射关系,可以是字典(手动定义)或从Excel/CSV文件读取,示例如下:

# Agent-Team Leader映射表,可根据实际情况扩展
agent_tl_map = {
    "Mausam Kumari": "Ajay",
    "Vivek K": "Ajay",
    # 补充剩余198名Agent的映射关系
}

实现函数

下面是封装好的抽取函数,支持自定义每个Agent的样本数量,自动处理样本不足的情况:

import pandas as pd

def extract_audit_samples(call_records_df, agent_tl_map, samples_per_agent=2):
    # 按Agent分组,每组抽取指定数量样本(样本不足时取全部)
    sampled_df = call_records_df.groupby("Emp_name").apply(
        lambda x: x.sample(n=min(samples_per_agent, len(x)), random_state=42)
    ).reset_index(drop=True)
    
    # 给样本关联对应的Team Leader
    sampled_df["Team_Leader"] = sampled_df["Emp_name"].map(agent_tl_map)
    
    # 按Team Leader分组,返回以TL名为键的样本字典
    tl_samples = {tl: group for tl, group in sampled_df.groupby("Team_Leader")}
    
    return tl_samples

使用示例

假设你的所有呼叫记录存储在df_all_calls中,调用函数后即可直接获取每个Team Leader的审核样本:

# 生成所有Team Leader的样本集合
tl_audit_samples = extract_audit_samples(df_all_calls, agent_tl_map)

# 获取Ajay下属的所有Agent审核样本
df_Ajay_samples = tl_audit_samples["Ajay"]

# 查看样本内容
print(df_Ajay_samples)

关键优势

  • 避免重复代码:无需为每个Agent编写单独的try-except块,一次性处理200名Agent
  • 可维护性强:Agent与TL的映射统一管理,新增/修改Agent信息只需更新映射表
  • 异常处理:自动处理Agent呼叫记录不足2条的情况,不会抛出错误
  • 可追溯性:random_state参数保证每次抽取的样本一致,适合审核场景的合规需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 00:07:43