我有一个如下所示的数据框:
A B
a T
b T
c F
d F
e F
f T
g T
我想保留每个部分的最后一个事件
应该变成这样:
A B
b T
e F
g T
最佳答案
使用:
df[df.B.ne(df.B.shift(-1))]
A B
1 b T
4 e F
6 g T
详细信息- 使用 df.shift()
并且 periods= -1
将在下面的示例上方移动第一列:
print(df.B.shift(-1))
0 T
1 F
2 F
3 F
4 T
5 T
6 NaN
使用上面的输出,我们与当前行进行比较:
df.B.ne(df.B.shift(-1))
0 False
1 True
2 False
3 False
4 True
5 False
6 True
现在我们有一个 bool 值输出,我们可以直接调用将选择所有 True
索引的数据框。
关于 python Pandas : remove duplicates row in each seperate section,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55940360/