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

如何在R语言中根据每行列表内容拆分并生成重复行

拆分数据框列中的逗号分隔值生成重复行

Python(Pandas)实现

用Pandas处理这类需求的核心逻辑是先将目标列的逗号分隔字符串转为列表,再通过explode()方法拆分列表生成对应重复行:

  1. 构造初始数据框:
import pandas as pd

df = pd.DataFrame({
    'A': ['"a"', '"b"'],
    'B': ['1,2', '4,5,6']
})
  1. 执行拆分操作:
# 将B列按逗号分割为列表
df['B'] = df['B'].str.split(',')
# 拆分列表并重置索引
result_df = df.explode('B', ignore_index=True)

处理后结果:

AB
"a"1
"a"2
"b"4
"b"5
"b"6

R 实现

借助tidyr包的separate_rows()函数可直接完成拆分:

  1. 构造初始数据框:
library(tidyr)

df <- data.frame(
  A = c('"a"', '"b"'),
  B = c('1,2', '4,5,6'),
  stringsAsFactors = FALSE
)
  1. 执行拆分操作:
result_df <- separate_rows(df, B, sep = ",")

处理后结果与上述表格一致。

注意事项

  • 如果目标列原本就是列表类型(而非逗号分隔字符串),可跳过字符串拆分步骤,直接调用拆分方法。
  • Pandas中ignore_index=True参数会重置结果数据框的索引,避免原索引重复问题。

内容的提问来源于stack exchange,提问作者Juan Pablo Delzo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 18:39:56