Pandas: check if column value is unique

Mr.*_*eer 4 python pandas

I have a DataFrame like:

         value
0          1
1          2
2          2
3          3
4          4
5          4
Run Code Online (Sandbox Code Playgroud)

I need to check if each value is unique or not, and mark that boolean value to new column. Expected result would be:

         value        unique
0          1           True
1          2           False
2          2           False
3          3           True
4          4           False
5          4           False
Run Code Online (Sandbox Code Playgroud)

I have tried:

df['unique'] = ""
df.loc[df["value"].is_unique, 'unique'] = True
Run Code Online (Sandbox Code Playgroud)

But this throws exception:

cannot use a single bool to index into setitem
Run Code Online (Sandbox Code Playgroud)

Any advise would be highly appreciated. Thanks.

jez*_*ael 5

Use Series.duplicated witn invert mask by ~:

df['unique'] = ~df['value'].duplicated(keep=False)
print (df)
   value  unique
0      1    True
1      2   False
2      2   False
3      3    True
4      4   False
5      4   False
Run Code Online (Sandbox Code Playgroud)

Or:

df['unique'] = np.where(df['value'].duplicated(keep=False), False, True)
Run Code Online (Sandbox Code Playgroud)