#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)
Дайте мне знать, если в этом есть смысл.