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

如何将带末尾斜杠的DataFrame多值观测拆分为新行

处理DataFrame中带斜杠的多值观测值拆分问题

我来帮你搞定这个需求!针对这种单个单元格包含多个用斜杠分隔(且末尾都带斜杠)的数值,我们可以用Pandas的工具轻松实现拆分并展开成单独行,下面一步步来演示:

1. 先模拟你的示例数据

首先我们先构造一个和你描述一致的DataFrame,方便后续操作演示:

import pandas as pd

# 模拟原始数据
df = pd.DataFrame({
    'ID': [1, 2, 3],
    'Target_Column': ['OneThing/', 'OneThing/AnotherThing/', 'ThirdThing/'],
    'Other_Column': ['A', 'B', 'C']
})

原始DataFrame长这样:

ID Target_Column Other_Column
0 1 OneThing/ A
1 2 OneThing/AnotherThing/ B
2 3 ThirdThing/ C

2. 处理带斜杠的列并拆分

关键步骤分为两步:

  • 先把每个单元格的字符串按斜杠/分割,同时过滤掉末尾斜杠带来的空字符串
  • 用explode方法把列表格式的内容展开成单独行

代码实现如下:

# 1. 分割字符串并过滤空值:末尾的斜杠会导致分割出空元素,所以要去掉
df['Target_Column'] = df['Target_Column'].str.split('/').apply(lambda x: [item for item in x if item])

# 2. 展开列表为单独行
result_df = df.explode('Target_Column', ignore_index=True)

处理后的结果就变成了:

ID Target_Column Other_Column
0 1 OneThing A
1 2 OneThing B
2 2 AnotherThing B
3 3 ThirdThing C

3. 如果有多个需要拆分的列怎么办?

要是你的DataFrame里有多个类似的带斜杠的列,我们可以循环处理每一个目标列:

# 假设需要拆分的列列表
columns_to_explode = ['Col1', 'Col2', 'Col3']

for col in columns_to_explode:
    df[col] = df[col].str.split('/').apply(lambda x: [item for item in x if item])
    df = df.explode(col, ignore_index=True)

这样就能批量处理所有需要拆分的列啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:26:09