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

基于服务列值为Pandas DataFrame新增客户服务次数统计列

解决医疗服务CSV的客户服务次数统计问题

我之前处理过类似的医疗数据规整需求,这种把长格式单条服务数据转成宽格式客户服务次数统计的场景,用Python的Pandas或者Excel透视表都能高效解决,给你两种实用方案:

方案一:用Python Pandas处理(适合批量/自动化需求)

这是最灵活的方式,适合需要重复处理或者数据量较大的情况:

  1. 先导入Pandas并读取原始CSV文件:
    import pandas as pd
    # 替换成你的CSV文件路径和实际列名
    df = pd.read_csv('medical_services.csv')
    
  2. 使用pivot_table生成按客户ID分组的服务次数统计:
    # 替换`ID_profile`为你的客户ID列名,`Service_Type`为服务类型列名
    stats_df = df.pivot_table(
        index='ID_profile',
        columns='Service_Type',
        aggfunc='size',  # 统计每个组合的行数(即服务次数)
        fill_value=0     # 把未接受的服务次数填充为0
    )
    
    如果你更喜欢用crosstab,效果是一样的:
    stats_df = pd.crosstab(df['ID_profile'], df['Service_Type'])
    
  3. 把统计结果保存为新的CSV文件:
    stats_df.to_csv('customer_service_stats.csv')
    

方案二:用Excel透视表处理(适合非代码用户)

如果你不想写代码,Excel的透视表完全能满足需求:

  • 选中原始CSV里的所有数据区域(包含表头)
  • 点击顶部菜单栏的「插入」→「数据透视表」,选择存放结果的位置
  • 在右侧的透视表字段面板中:
    • 把ID_profile拖到「行」区域
    • 把服务类型列(比如Service_Type)拖到「列」区域
    • 再把服务类型列拖到「值」区域,然后点击值字段的下拉菜单,选择「值字段设置」→「计数」
  • 最后把透视表的结果复制粘贴到新工作表,就是你需要的宽格式统计表格了(空白单元格可以手动替换为0)

注意事项

  • 确保ID_profile是唯一标识每位客户的字段,没有格式不一致(比如大小写、空格)的问题,否则会导致统计重复
  • 如果服务类型的取值非常多,生成的列会比较多,这是正常的,每个服务类型都会单独成为一列
  • 如果原始数据中有缺失值,Pandas的fill_value=0会自动填充,Excel透视表需要手动处理空白值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:04:22