Замените дубликаты в группе большинством голосов в Панд

#python #pandas #dataframe

#питон #панды #фрейм данных

Вопрос:

У меня есть этот фрейм данных Панд

изображение пользователь ответ
img_01 1 1
img_01 2 0
img_01 2 1
img_01 2 0
img_01 3 1
img_01 4 1
img_02 1 1
img_02

Как вы можете видеть, пользователь 2 дал в общей сложности 3 ответа img_01 , но не всегда одинаковых. Это происходит во всем наборе данных с разными изображениями и пользователями. Я знаю, что могу получить комбинации (изображение/пользователь) этих дубликатов с помощью

 g = dataset.groupby('image')['user'].value_counts() g = g[g gt; 1]  

Теперь я хочу заменить его 3 ответа большинством голосов среди его ответов или полностью отказаться от него. Как я могу это сделать?

Ответ №1:

Такое чувство, что вы, возможно, слишком усложняете это. Я бы просто подвел итог, а затем выбрал самый верхний.

 df.value_counts().reset_index().drop_duplicates(subset=['sample', 'user']).drop(columns = 0)  

Дайте мне знать, если в этом есть смысл.