Search code examples
pythonpandasdataframeunique

Boolean for unique value in a column


For my dataframe, e.g.

df = pd.DataFrame([1, 3, 7, 1], columns=['data'])

I want to know for each index if the value is unique in the column data.

So the resulting dataframe should be

    data    is_unique
0   1       False
1   3       True
2   7       True
3   1       False

Is there a convenient approach with pandas?


Solution

  • Use duplicated with invert mask by ~:

    df['is_unique'] = ~df['data'].duplicated(keep=False)
    print (df)
    
       data  is_unique
    0     1      False
    1     3       True
    2     7       True
    3     1      False