我想过滤掉重复的值,并在我的DataFrame中仅列出唯一值。
假设我有这样的df:
A B
0 1 3
1 2 4
2 3 3
3 1 1
4 3 0
我想仅列出' A'
列中的唯一值我想要的df
['2']
我试过.drop_duplicates和.unique,但没有运气。
答案 0 :(得分:4)
df[~df['A'].duplicated(keep=False)]
Out[100]:
A B
1 2 4
或者,如果您只想要A列:
df.loc[~df['A'].duplicated(keep=False), 'A']
Out[102]:
1 2
Name: A, dtype: int64
drop_duplicates也可以这样工作:
df.drop_duplicates(subset=['A'], keep=False)['A']
Out[105]:
1 2
Name: A, dtype: int64
更紧凑:
df['A'].drop_duplicates(keep=False)
Out[106]:
1 2
Name: A, dtype: int64