首页 > 解决方案 > 只有当它们通过熊猫在下一次迭代中重复时,我才能删除重复项

问题描述

我的问题有点令人困惑,所以最好显示我的输入和输出的样子。我已经尝试过一段时间,但每次我都走到了死胡同。

输入:

一个
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

标签: pythonpython-3.xpandasdataframedata-cleaning

解决方案


你必须像itertools.groupby这里一样分组。要在 pandas 中执行类似的操作,请检查下一个元素是否不等于 curr 元素。我们可以使用pd.Series.shift++ pd.Series.nepd.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

推荐阅读