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

如何基于DataFrame列值实现行复制?

实现方法:拆分DataFrame列中的逗号分隔值并复制行

当然有办法搞定这个需求啦!在pandas里这是个很常见的操作,用explode()方法就能轻松实现,我给你一步步演示具体怎么做:

1. 先构造原始DataFrame

首先我们先把你给出的数据转换成pandas的DataFrame:

import pandas as pd

data = {'a':'1', 'b': '1,2,3', 'c':'2'}
df = pd.DataFrame(data, index=[0])

此时打印df会得到你提到的原始输出:

a      b  c
0  1  1,2,3  2

2. 拆分列并生成新行

接下来分两步操作:

  • 先把列b中的逗号分隔字符串拆分成列表格式
  • 用explode()方法把列表中的每个元素拆成单独的行,其他列保持原数值不变

代码如下:

# 将b列的字符串按逗号分割成列表
df['b'] = df['b'].str.split(',')
# 对b列执行拆分,生成多行
result_df = df.explode('b')
# 可选:重置索引,让索引从0开始连续排列
result_df = result_df.reset_index(drop=True)

3. 最终输出

此时打印result_df就会得到你想要的结果:

a  b  c
0  1  1  2
1  1  2  2
2  1  3  2

简单解释下原理:str.split(',')把b列的字符串转成了['1','2','3']这样的列表,而explode()方法会自动将列表中的每个元素单独拆成一行,同时保留a和c列的原始值,完美匹配你的需求~

内容的提问来源于stack exchange,提问作者Juan Jose Vargas Estevez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 09:47:35