Используя

оего кадра данных, например

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

Я хочу знать для каждого индекса, является ли значение уникальным в столбцеdata.

Таким образом, результирующий кадр данных должен быть

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

Есть ли удобный подход с пандами?

Ответы на вопрос(2)

Решение Вопроса

использованиеduplicated с инвертированной маской~:

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
 jezrael05 окт. 2017 г., 17:51
Добро пожаловать! Спасибо всем.
 Michael Dorner05 окт. 2017 г., 17:49
Это красота, которую я искал! Спасибо!
 Matteo Ragni05 окт. 2017 г., 17:49
Ух ты. Чрезвычайно опрятный. Отлично.

Используяvalue_counts + map

df.assign(BOOL=df.data.map(df.data.value_counts()>1))
Out[437]: 
   data   BOOL
0     1   True
1     3  False
2     7  False
3     1   True

Используяdrop_duplicate

df.assign(BOOL=df.index.isin(df.drop_duplicates('data',keep =False).index))

Out[440]: 
   data   BOOL
0     1  False
1     3   True
2     7   True
3     1  False

Ваш ответ на вопрос