【问题标题】:python pandas: remove duplicates row in each seperate sectionpython pandas:删除每个单独部分中的重复行
【发布时间】:2019-09-20 06:17:24
【问题描述】:

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

A B
a T
b T
c F
d F
e F
f T
g T

我想保留每个部分的最后一个事件

应该变成这样:

A B
b T
e F    
g T

【问题讨论】:

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


    【解决方案1】:

    用途:

    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
    

    现在我们有一个布尔输出,我们可以直接调用数据框来选择所有 True 索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 2013-02-05
      • 2021-11-07
      • 2021-12-25
      相关资源
      最近更新 更多