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

如何用Pandas转换CSV格式并对用户角色列去重?

用Pandas实现CSV角色去重合并的简便方法

直接上步骤和代码,解决你遇到的角色重复问题:

  1. 导入Pandas并读取CSV
    注意原CSV里otto那行字段缺失,需要先修正数据格式,确保ROLE列值正确:

    import pandas as pd
    
    # 读取CSV,自定义列名并跳过表头,适配不规则行
    df = pd.read_csv('你的文件路径.csv', sep=';', names=['USER', 'temp_col', 'ROLE'], skiprows=1)
    # 修正otto行的角色值(该行缺少so字段,角色被误读到temp_col列)
    df['ROLE'] = df.apply(lambda row: row['temp_col'] if pd.isna(row['ROLE']) else row['ROLE'], axis=1)
    # 删除临时列
    df = df.drop('temp_col', axis=1)
    
  2. 分组去重并合并角色
    核心逻辑是按用户分组后,对角色列去重再拼接:

    # 按USER分组,提取去重后的角色并用逗号加空格连接
    result_df = df.groupby('USER')['ROLE'].agg(lambda roles: ', '.join(roles.unique())).reset_index()
    # 重命名列名匹配需求格式
    result_df.columns = ['USER', 'ROLES']
    
  3. 导出结果

    result_df.to_csv('输出文件路径.csv', sep=';', index=False)
    

这样处理后就能得到目标格式,同一用户的角色只会显示一次。相比字典迭代,Pandas代码更简洁,处理大量数据时效率也更高。

内容的提问来源于stack exchange,提问作者Paul-ET

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:52:24