如何获取特定列的所有唯一值组合

时间:2016-12-24 10:49:02

标签: python pandas

我想提取列Col1Col2Col3的所有值的唯一组合。假设有以下数据框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(),但不确定唯一组合。

1 个答案:

答案 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()