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

Pandas DataFrame中explode无法拆分col4列的问题求助

解决DataFrame中col4列的拆分(Explode)问题

你的col4列存储的是逗号加空格分隔的字符串,而非列表类型,这是导致之前方法失效的核心原因。以下是正确的处理步骤:

正确代码实现

  1. 先将col4列按, (逗号+空格)分割为列表:
df['col4'] = df['col4'].str.split(', ')
  1. 仅对col4列执行explode操作,其他列保留原有值:
df = df.explode('col4').reset_index(drop=True)

执行后即可得到你期望的输出:

col1        col2            col3                col4                
0   HP:0005709  ['HP:0001770']  Toe syndactyly      SNOMEDCT_US:32113001
1   HP:0005709  ['HP:0001770']  Toe syndactyly      C0265660
2   HP:0005709  ['HP:0001780']  Abnormality of toe  C2674738
3   EFO:0009136 ['HP:0001507']  Growth abnormality  C0262361

之前方法失效的原因

  • 方法1直接使用df.explode('col4'):explode仅对列表、元组等可迭代类型生效,而你的col4是普通字符串,因此无效果。
  • 方法2中set_index(['col2']).apply(pd.Series.explode):对整个DataFrame执行explode会同时拆分col2(因为col2本身是列表),不符合你只拆分col4的需求。
  • 方法3使用ast.literal_eval:col4的内容并非合法Python字面量(比如第一个值是普通字符串,而非带方括号的列表格式),因此无法被正确解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:55:25