我有一个如下所示的数据框:
A B C D
- - - -
h e l 0
t h i 0
i s m 0
q u e 1
s t i 1
我要连续删除D
中具有相同值的所有行,但保留第一行。结果如下:
A B C D
- - - -
h e l 0
q u e 1
到目前为止,我已经使用以下代码完成了该操作:
df[list(map(lambda x: (x == 0) or (df['D'][x] != df['D'][x-1]), range(len(D))))]
我想知道是否有更好的方法?
答案 0 :(得分:2)
使用-
df.loc[df['D'].shift(1) != df['D']]
输出
A B C D
0 h e l 0
3 q u e 1