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

如何在DataFrame中新增列统计各分类出现次数及对应工单?

解决方案

可以通过自定义函数结合pandas.DataFrame.apply()实现需求,具体代码如下:

1. 构造示例DataFrame

import pandas as pd

data = {
    'key': ['CNI-1', 'CNI-2', 'CNI-3', 'CNI-4', 'CNI-5'],
    'ticket_id': ['T1', 'T2, T3', 'T1, T4', 'T4, T5, T6, T7', 'T1, T8, T9, T10'],
    'ticket_category': ['Reset', 'Reset, Error', 'Reset, Server', 'Server, Server, Server, Error', 'Reset, Reset, Error, Server']
}

df = pd.DataFrame(data)

2. 定义处理函数并生成目标列

def combine_category_info(row):
    # 拆分并清洗工单ID和分类列表
    tickets = [t.strip() for t in row['ticket_id'].split(',')]
    categories = [c.strip() for c in row['ticket_category'].split(',')]
    
    # 按分类分组归集工单ID
    cat_ticket_map = {}
    for cat, ticket in zip(categories, tickets):
        cat_ticket_map.setdefault(cat, []).append(ticket)
    
    # 生成指定格式的字符串片段并拼接
    result_parts = []
    for category, ticket_list in cat_ticket_map.items():
        count = len(ticket_list)
        ticket_str = ', '.join(ticket_list)
        result_parts.append(f"{category} - {count}({ticket_str})")
    
    return ', '.join(result_parts)

# 新增combined列
df['combined'] = df.apply(combine_category_info, axis=1)

3. 查看结果

运行后df的输出与期望一致:

key          ticket_id                ticket_category                                           combined
0  CNI-1                 T1                          Reset                                        Reset - 1(T1)
1  CNI-2             T2, T3                   Reset, Error                         Reset - 1(T2), Error - 1(T3)
2  CNI-3             T1, T4                   Reset, Server                         Reset - 1(T1), Server - 1(T4)
3  CNI-4      T4, T5, T6, T7  Server, Server, Server, Error  Server - 3(T4, T5, T6), Error - 1(T7)
4  CNI-5  T1, T8, T9, T10     Reset, Reset, Error, Server    Reset - 2(T1, T8), Error - 1(T9), Server - 1(T10)

逻辑说明

  • 先拆分每行的工单ID和分类字符串,去除多余空格后转为列表
  • 用字典按分类分组,将同分类的工单ID归集到对应列表中
  • 遍历分组结果,生成分类 - 次数(工单ID列表)格式的字符串片段
  • 最后将所有片段用逗号拼接,得到目标列的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:55:56