Pandas DataFrame - 删除在特定列中具有与前一行相同值的行

时间:2014-07-24 21:32:11

标签: python pandas dataframe

我有一个pandas数据帧,我想检查每一行,如果它在特定列上具有相同的值(让我们称之为porduct_type),如果是,则删除它。换句话说,在特定列中具有相同值的一组连续行中,我只想保留一行。

示例,如果列A是我们不希望连续重复的列:

input =  
A    B

    0  1    1
    0  2    2
    2  1   10
    2  2   20
    0  11  100
    5  2  200

output =  
A    B

    0  1    1
    2  1   10
    0  11  100
    5  2  200

1 个答案:

答案 0 :(得分:4)

这有点棘手,但你可以做点像

>>> df.groupby((df["A"] != df["A"].shift()).cumsum().values).first()
   A   B    C
1  0   1    1
2  2   1   10
3  0  11  100
4  5   2  200