我无法弄清楚在某些情况下如何清除行(但是保留第一次出现并清除具有该值的每一行)。

我尝试使用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/

10-09 19:16