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

如何拆分Pandas DataFrame中DevType列的多值并提取唯一值生成统计列表

问题解决方案

问题原因

你的原有代码存在两个问题:

  • 分隔符使用错误:你的DevType列是用分号拼接多个类型,但是代码中调用split()时传入的是逗号,,拆分规则和实际不符
  • 拆分结果未正确存入列表:你打印了拆分后的结果,但仍然把未拆分的原字符串加入了possiblewords,同时没有对拆分后的重复类型做去重处理

修正后代码

循环实现版本(对应你原有写法的修改)

possiblewords = set() # 用set结构自动去重
unqlist = list(df_new['DevType'].unique())
for word in unqlist:
    # 按分号拆分,遍历每个独立类型
    for dev_type in word.split(';'):
        # strip()用于去除类型名称前后可能存在的多余空格
        possiblewords.add(dev_type.strip())
# 如果需要列表格式可以直接转换
possiblewords = list(possiblewords)

Pandas向量化实现版本(更简洁高效)

不需要单独提取唯一值列表,直接对整列处理即可得到结果:

possiblewords = list(
    df_new['DevType']
    .str.split(';', expand=True) # 按分号拆分,扩展为多列
    .stack() # 把多列数据堆叠为单列
    .str.strip() # 去除多余空格
    .unique() # 去重得到所有独立开发类型
)

拓展:直接统计各类型总出现次数

如果你后续需要统计每个独立开发类型的总出现次数,可以不用先生成possiblewords,直接一步完成统计:

dev_type_total_count = df_new['DevType'].str.split(';').explode().str.strip().value_counts()

返回的结果就是每个独立开发类型对应的总出现次数的Series。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:06:02