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

Din*_*ius 11 python pandas

我想提取列的所有唯一值组合Col1,Col2Col3.假设有以下数据帧df:

df =

Col1    Col2    Col3
12      AB      13
11      AB      13
12      AB      13
12      AC      14
Run Code Online (Sandbox Code Playgroud)

答案是:

unique =

Col1    Col2    Col3
12      AB      13
11      AB      13
12      AC      14
Run Code Online (Sandbox Code Playgroud)

我知道如何获得特定列的唯一值,即df.Col1.unique()不确定唯一的组合.

Rom*_*kar 14

有一种方法 - pandas.DataFrame.drop_duplicates:

>>> df.drop_duplicates()
   Col1 Col2  Col3
0    12   AB    13
1    11   AB    13
3    12   AC    14
Run Code Online (Sandbox Code Playgroud)

你也可以这样做inplace:

>>> df.drop_duplicates(inplace=True)
>>> df
   Col1 Col2  Col3
0    12   AB    13
1    11   AB    13
3    12   AC    14
Run Code Online (Sandbox Code Playgroud)

如果您需要获取某些列的唯一值:

>>> df[['Col2','Col3']].drop_duplicates()
  Col2  Col3
0   AB    13
3   AC    14
Run Code Online (Sandbox Code Playgroud)

正如@jezrael建议的那样,你也可以考虑使用以下subset参数drop_duplicates():

>>> df.drop_duplicates(subset=['Col2','Col3'])
   Col1 Col2  Col3
0    12   AB    13
3    12   AC    14
Run Code Online (Sandbox Code Playgroud)