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

如何将pandas DataFrame指定单元格的多个值拆分为独立值列表?

pandas逗号分隔多值单元格拆分方案

问题根因

你的现有代码存在两处错误:

  • 错误将loc筛选返回的Series对象直接转为字符串,会引入索引、数据类型等无关内容
  • 未对逗号分隔的字符串做拆分处理,调用字符串的values属性实际返回的是单个字符组成的序列,拼接后就会得到无分隔符的连续数字

场景1:查询单个客户的过敏编码列表

如果确认每个customer_id仅对应一行数据,使用以下代码即可拿到拆分后的独立编码:

# 取对应客户的原始编码字符串
allergy_raw = df_sheet.loc[df_sheet["customer_id"] == customer, "allergies_code"].iloc[0]
# 按逗号拆分,同时去除空格、转换为整数(不需要数值可去掉int())
customer_allergies = [int(code.strip()) for code in allergy_raw.split(',')]

处理后customer_allergies的输出为[113, 115, 121],符合预期。

场景2:全表批量拆分多值单元格

如果需要将整张表的多值单元格拆分、展开为单行单值的结构,可以使用pandas内置的explode方法:

# 先将每个单元格的字符串拆分为列表
df_sheet["allergies_code"] = df_sheet["allergies_code"].str.split(',')
# 展开列表为多行,重置索引
df_exploded = df_sheet.explode("allergies_code", ignore_index=True)
# 可选:将编码统一转换为整数类型
df_exploded["allergies_code"] = df_exploded["allergies_code"].astype(int)

内容的提问来源于stack exchange,提问作者נועה בינסקי

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 18:45:05