python - Python数据框:根据特定条件合并列的值
问题描述
嗨,我有一个数据框问题。假设我有一个格式如下的数据框
label value
1 a
1 b
2
2
1 c
1 d
所以现在我有两个连续的标签 1 部分。我想要这样的输出:
output: [ab,cd]
不同区域的label 1的哪些相关值合并在一起。谢谢你。
解决方案
您可以使用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']
推荐阅读
- python - 从获取请求的响应中解析和获取列表
- c# - 在 Xamarin 表单中添加长按手势识别器
- collections - Laravel 集合条件总和
- jenkins - 当用户从 Bitbucket clou 提出拉取请求时,Jenkins 不会得到通知并且不会构建
- php - 如何将不同的html页面值存储到数据库的同一行中?
- python - Running google app sdk dev_appserver.py can't find the local python environment
- kylo - 如何在 Kylo 中添加自定义类别属性?
- iis - Application pool recycling — doesn't recover
- php - For循环在laravel控制器中不起作用
- sage - 欧拉法贤者数学不知从何下手