Drop filas correspondientes a grupos más pequeños que el tamaño especificado

Tengo unDataFrame de respuestas para 100questions_id y 50user_id 's. Cada fila representa una sola pregunta de un usuario específico. La mesa se parece a esto.

user_id | question_id | timetaken | answer_1 | answer_2 |
1015    | 1           | 30        | A        | C        |
1015    | 2           | 45        | B        | B        |
1016    | 1           | 15        | A        | A        |
1016    | 2           | 55        | A        | D        |

Estoy intentando filtrar a los usuarios que no completaron la prueba. Mi proceso de pensamiento para hacer esto fue contar la cantidad de ocurrencias que cada usuario aparece en la tabla, si eluser_id 1015 aparece en la columnauser_id 100 veces, sé que completaron las 100 preguntas. Lamentablemente, no puedo usar laquestion_id para filtrar ya que las preguntas son aleatorias para que el usuario pueda responder 5 preguntas y una de ellas podría tener laquestion_id = 100.

Pensé que este era misolució pero no pudo resolver cómo contar las ocurrencias deuser_id.

Respuestas a la pregunta(2)

Su respuesta a la pregunta