python Pandas : remove duplicates row in each seperate section

标签 python python-3.x pandas pandas-groupby

我有一个如下所示的数据框:

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/

相关文章:

python-3.x - 如何使用 gitignore 隐藏机器人 Telegram token ?

python - 我应该如何使用 python 和 redis 存储简单对象?

python - Windows 上的 PySide2

python-3.x - pandas:按列分组后如何获得第一个正数?

python - 将转换从 `pandas.get_dummies` 应用到新数据的简单方法?

python - tf.的例子group_by_reducer?

python - 从 Python Popen 将 stdout 和 stderr 存储在 Redis 中

python - 绘制带有两个 y 轴的数据框

python - UDP 打洞不起作用

python - 2d 数组的 numpy 掩码,其中所有值都在 1d 数组中