我有一个 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

最佳答案

这有点棘手,但是您可以做类似的事情

>>> 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

关于python - Pandas DataFrame-删除特定列中与上一行具有相同值的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24944355/

10-12 04:54