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

如何拆分DataFrame合并数据并保留原记录生成新DataFrame

Pandas拆分合并数据并保留原记录

问题场景

现有包含合并字段的DataFrame,name和code列的值通过/分隔:

import pandas as pd

df = pd.DataFrame({
    'name': ['joe blogs/john williams'],
    'code': ['100000/100001']
})

原始数据输出:

name          code
0  joe blogs/john williams  100000/100001

期望生成的结果需同时包含拆分后的单独记录和原始合并记录:

name          code
0                  joe blogs        100000
1              john williams        100001
2  joe blogs/john williams  100000/100001

实现代码

# 拆分并展开合并字段
split_df = df.assign(
    name=df['name'].str.split('/'),
    code=df['code'].str.split('/')
).explode(['name', 'code'], ignore_index=True)

# 合并拆分数据与原始数据,重置索引并去重
result_df = pd.concat([split_df, df], ignore_index=True).drop_duplicates()

# 输出结果
print(result_df)

代码说明

  • assign():将原列的字符串按/拆分为列表格式
  • explode():把列表中的每个元素拆分为独立行,同时保证name和code的对应关系
  • pd.concat():将拆分后的数据集与原始数据集合并
  • drop_duplicates():避免因原始数据重复导致的结果行重复(根据实际需求可省略)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:15:34