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

Python pandas拆分分号分隔的EMP_ID列并合并为单列的方法

解决Pandas拆分分号分隔列并合并为单列的问题

需求说明

需将DataFrame中以分号;分隔的EMP_ID列拆分后合并为单列,同时过滤拆分产生的空字符串(比如原数据末尾分号、连续分号导致的空值)。

高效解决方案

不用先拆多列再合并,直接用str.split+explode一步完成,代码简洁且灵活:

import pandas as pd

# 读取数据库数据(你的原有代码)
df = pd.read_sql("SELECT DISTINCT EMP_ID FROM TABLE", conn)

# 拆分、展开并过滤空值
df_result = df['EMP_ID'].str.split(';', expand=False).explode().replace('', pd.NA).dropna().to_frame('EMP_ID')

# 查看结果
print(df_result)

代码解释

  • str.split(';', expand=False):将每个EMP_ID字符串按分号拆分为列表,expand=False让结果保留为Series内的列表,而非拆成多列。
  • explode():把每个列表里的元素单独拆成一行,实现列转行。
  • replace('', pd.NA).dropna():将拆分出的空字符串替换为缺失值后删除,处理原数据里的无效空值。
  • to_frame('EMP_ID'):将处理后的Series转回DataFrame,保留原列名。

你之前尝试的问题分析

  • 第一种拆多列的方法:需要提前预估拆分后的字段数量,后续合并多列也繁琐,灵活性差。
  • 第二种df.split(";"):DataFrame对象没有split方法,必须对EMP_ID这个Series调用str.split方法才行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 19:18:39