我有一个数据帧,其中一列中有一堆唯一值,但我需要找到只满足唯一值而不是整个数据帧的特定条件的位置。
COL1 | VAR1 | VAR2
A | 0 | 1
A | 1 | 2
B | 0 | 1
B | 1.5 | 2.5
C | 0 | 2
C | 2 | 3
C | 3 | 4
D | 0 | 1
D | 2.5 | 4
我想要的结果是找到数据帧中VAR2不等于下一行VAR1的所有位置,仅用于COL1中的唯一值。例如,以下输出
COL1 | VAR1 | VAR2
B | 0 | 1
D | 0 | 1
我已经应用了以下代码来使我的条件发挥作用。但我不知道如何只为的唯一值做这件事
[df['VAR1'] != df['VAR2'].shift(-1)]
出于显而易见的原因,这给了我COL1中下一个值唯一的所有位置。
我们将非常感谢你的帮助。感谢您花时间仔细研究我的问题:(
使用duplicated
怎么样?
mask = (df['VAR1'] != df['VAR2'].shift(-1)) & (~df['VAR1'].duplicated())
df[mask]