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

在R中合并数据框行并拼接对应列值的实现方法

按V2分组拼接V3值的解决方案

需求说明

将现有数据框按V2列分组,每个V2值仅保留一行,对应的V3列拼接所有该分组下的V3值为单个字符串(逗号分隔),同时保留V1列对应值。

原始数据框

V1         V2         V3                
         7f7e     ASN 440 E  GLY 124 C        
3279     7f7e     ASP 442 E  THR 123 C          
3280     7f7e     ARG 346 E  TYR 119 C          
3281     7f7e     LEU 441 E  GLY 117 C          
3282     7f7e     ASN 440 E  ILE 115 C          
3283     7f7e     ASN 440 E  ALA 125 C       
3284     7f7e     SER 443 E  GLY 124 C          
3285     7f7e     ASP 442 E  TYR 119 C         

解决方案(Pandas实现)

基础拼接方案

直接按V1和V2分组,对V3列执行字符串拼接:

import pandas as pd

# 假设数据已加载为df
df_grouped = df.groupby(['V1', 'V2'])['V3'].agg(', '.join).reset_index()

执行后结果示例:

V1         V2                                  V3
0 7f7e  ASN 440 E  GLY 124 C, ILE 115 C, ALA 125 C
1 7f7e  ASP 442 E         THR 123 C, TYR 119 C
2 7f7e  ARG 346 E                     TYR 119 C
3 7f7e  LEU 441 E                     GLY 117 C
4 7f7e  SER 443 E                     GLY 124 C

去重拼接方案(若存在重复V3值)

如果同一分组下有重复的V3值,可先去重再拼接:

df_grouped = df.groupby(['V1', 'V2'])['V3'].agg(lambda x: ', '.join(sorted(set(x)))).reset_index()

说明

  • 用groupby(['V1', 'V2'])是为了确保V1与V2的组合唯一,避免同一V2对应不同V1时出错;若你的数据中V2唯一对应V1,也可仅按V2分组。
  • reset_index()用于将分组后的索引转换为普通列,保证结果是标准数据框格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:52:36