这很简单,但我无法理解它。假设对于以下数据框,我想只保留y列中具有重复值的行:
>>> df
x y
x y
0 1 1
1 2 2
2 3 2
3 4 3
4 5 3
5 6 3
6 7 5
7 8 2
所需的输出如下:
>>> df
x y
1 2 2
2 3 2
3 4 3
4 5 3
5 6 3
7 8 2
我试过了:
df[~df.duplicated('y')]
但我明白了:
x y
0 1 1
1 2 2
3 4 3
6 7 5
答案 0 :(得分:4)
文档:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.duplicated.html
保持:{'first','last',False},默认为'first'
首先:马克 除第一次出现外,重复为True。
最后:马克 除最后一次出现外,重复为True。
错误:全部标记 重复为True。
您正在寻找的意思:
df[df.duplicated('y',keep=False)]
输出:
x y
1 2 2
2 3 2
3 4 3
4 5 3
5 6 3
7 8 2