我想提取列Col1
,Col2
和Col3
的所有值的唯一组合。假设有以下数据框df
:
df =
Col1 Col2 Col3
12 AB 13
11 AB 13
12 AB 13
12 AC 14
答案是:
unique =
Col1 Col2 Col3
12 AB 13
11 AB 13
12 AC 14
我知道如何获取特定列的唯一值,即df.Col1.unique()
,但不确定唯一组合。
答案 0 :(得分:11)
有一种方法 - pandas.DataFrame.drop_duplicates
:
>>> df.drop_duplicates()
Col1 Col2 Col3
0 12 AB 13
1 11 AB 13
3 12 AC 14
您也可以inplace
执行此操作:
>>> df.drop_duplicates(inplace=True)
>>> df
Col1 Col2 Col3
0 12 AB 13
1 11 AB 13
3 12 AC 14
如果您需要获取某些列的唯一值:
>>> df[['Col2','Col3']].drop_duplicates()
Col2 Col3
0 AB 13
3 AC 14
正如@jezrael建议的那样,您还可以考虑使用subset
的{{1}}参数:
drop_duplicates()