Pandas:checkifcolumnvalueisunique

I have a DataFrame like:

         value
0          1
1          2
2          2
3          3
4          4
5          4

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

I have tried:

df['unique'] = ""
df.loc[df["value"].is_unique, 'unique'] = True

But this throws exception:

cannot use a single bool to index into setitem

Any advise would be highly appreciated. Thanks.

回答

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

Or:

df['unique'] = np.where(df['value'].duplicated(keep=False), False, True)


以上是Pandas:checkifcolumnvalueisunique的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>