python - 只有当它们通过熊猫在下一次迭代中重复时,我才能删除重复项
问题描述
我的问题有点令人困惑,所以最好显示我的输入和输出的样子。我已经尝试过一段时间,但每次我都走到了死胡同。
输入:
一个 | 乙 |
---|---|
1 | 一个 |
2 | 一个 |
3 | b |
4 | b |
5 | C |
6 | C |
7 | 一个 |
8 | 一个 |
9 | b |
10 | C |
输出:
一个 | 乙 |
---|---|
1 | 一个 |
3 | b |
5 | C |
7 | 一个 |
9 | b |
10 | C |
解决方案
你必须像itertools.groupby
这里一样分组。要在 pandas 中执行类似的操作,请检查下一个元素是否不等于 curr 元素。我们可以使用pd.Series.shift
++ pd.Series.ne
。pd.Series.cumsum
grps = df['B'].ne(df['B'].shift()).cumsum()
df.groupby(grps).first()
A B
B
1 1 a
2 3 b
3 5 c
4 7 a
5 9 b
6 10 c
推荐阅读
- alfresco - 如何通过传递 nodeRef 在 Activiti 表单上显示 Alfresco 文档
- r - Amazon-SageMaker - R 内核:用单引号替换字符串也在文本中插入反斜杠,如何避免这种情况
- laravel - 找不到类“App\Http\Controllers\DB”
- c# - 如何对函数的调用进行排队
- javascript - 如何定位 Angular UI 库元素?
- docker - 如何合并 Docker 的镜像层并瘦身镜像文件
- javascript - 未捕获的类型错误:无法将属性“innerText”设置为 null - 对于倒计时脚本
- unity3d - 作为开发人员,我如何才能为我的统一游戏进行更新而不是再次上传整个游戏?
- angular - 如何从 ngOnInit 方法中的 API 获取值以用作 Reactive Forms 的默认值?角
- javascript - 在 Safari Mac 上触发“ENTER”键上的按钮