Python正在查找非连续的重复项

Python正在查找非连续的重复项,python,pandas,Python,Pandas,我希望在熊猫数据帧中找到非连续的重复字符串。 注意:我使用了Shift,但无法获得所需的输出 Abc aa aa aa aa bb bb bb aa bb 复写的副本 复写的副本 bb 复写的副本 抄送 期望输出: aa bb bb cc假设您的预期输出不正确 df[df['ABC'].shift(-1) != df['ABC']] ABC 3 aa 6 bb 7 aa 8 bb 10 cc 11 bb 13 cc 这是我为这个做的代码 a = df[df['A

我希望在熊猫数据帧中找到非连续的重复字符串。 注意:我使用了Shift,但无法获得所需的输出

Abc aa aa aa aa bb bb bb aa bb 复写的副本 复写的副本 bb 复写的副本 抄送

期望输出: aa bb bb
cc

假设您的预期输出不正确

df[df['ABC'].shift(-1) != df['ABC']]

    ABC
3   aa
6   bb
7   aa
8   bb
10  cc
11  bb
13  cc

这是我为这个做的代码

a = df[df['ABC'].shift(1) != df['ABC']]
b= df.drop_dupicates('ABC')
c = a[~a.isin(b)]

输出:aa-bb-bb-cc

您所说的非连续字符串重复是什么意思?你的预期输出应该是aa,bb,aa,bb,cc,bb,cc吗?非连续字符串Dup-我的意思是,在这里我将连续重复视为非重复,以了解翻转在列中发生的位置。那么,“cc”在你的预期输出中是怎样的呢@jezrael的第一个答案应该是正确的,期望输出aa bb bb cc cc,因为当你看到系列aa aa aa-连续,所以我不认为它们是重复的,作为一个grp,但我不需要在下一个bb bb-相同的输出中,但我们这里再次看到重复和非连续的aa。在第一次抄送的情况下,我们认为它是一个抄送,下一个抄送是重复的。Sry,我解释得再清楚不过了,我还在开始。我在这里的主要目标是理解翻转-列应该具有唯一或连续的元素,因此如果一个元素在唯一连续的元素之后回落,那么它就是翻转。谢谢你为什么把抄送看作一个:如果是第一次抄送,我们就把它看作一个——它应该是连续的重复,因为它是背靠背发生的。为什么你认为CC的第一个实例不是连续副本,而不是AA和BB?