首页 > 解决方案 > Python数据框:根据特定条件合并列的值

问题描述

嗨,我有一个数据框问题。假设我有一个格式如下的数据框

label    value 
1        a
1        b 
2  
2 
1        c
1        d

所以现在我有两个连续的标签 1 部分。我想要这样的输出:

output: [ab,cd] 

不同区域的label 1的哪些相关值合并在一起。谢谢你。

标签: pythonpandaslistdataframe

解决方案


您可以使用itertools.groupby,它只对相邻的项目进行分组:

from itertools import groupby
from operator import itemgetter

zipper = zip(df['label'], df['value'])
grouper = groupby(list(zipper), key=itemgetter(0))
res = [''.join(map(itemgetter(1), j)) for i, j in grouper if i == 1]

['ab', 'cd']

推荐阅读