我无法弄清楚在某些情况下如何清除行(但是保留第一次出现并清除具有该值的每一行)。
我尝试使用drop_duplicate,但这将摆脱一切。我只想摆脱一些具有特定值的行(在同一列中)
数据的格式如下:
Col_A | Col_B
5 | 1
5 | 2
1 | 3
5 | 4
1 | 5
5 | 6
我想要这样(基于Col_A):
Col_A | Col_B
5 | 1
5 | 2
1 | 3
5 | 4
5 | 6
最佳答案
使用idxmax
并检查索引。当然,这假设您的索引是唯一的。
m = df.Col_A.eq(1) # replace 1 with your desired bad value
df.loc[~m | (df.index == m.idxmax())]
Col_A Col_B
0 5 1
1 5 2
2 1 3
3 5 4
5 5 6
关于python - Python Pandas保留第一个出现的特定值,并删除其余具有相同特定值的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55349129/