Cómo agrupar los resultados "restantes" más allá de Top N en "Otros" con pandas

Cuando agrupe un marco de datos de pandas por una columna, diga "versión" y que tiene 10 versiones distintas. ¿Cómo se puede trazar el Top 3 (que cubre más del 90%) y colocar los restos pequeños en un "Otro" - Cubeta.

data = array([
              ('Top1', 14),
              ('Top1', 3),
              ('Top1', 2),
              ('Top2', 6),
              ('Top2', 7),
              ('Other1', 1),
              ('Other2', 2),
         ], 
      dtype=[('Version', 'S10'),('Value', '<i4')])
df = DataFrame.from_records(data)
df.groupby('Version').sum()

Esto devuelve:

Value
Version 
Other1   1
Other2   2
Top1     19
Top2     13

Estoy buscando

Value
Version 
Others   
Top1     19
Top2     13

Los nombres de versión Other * y Top * se seleccionan para el ejemplo.

Por supuesto, esto es posible configurando manualmente la categoría a "Otro" después de agrupar y comparar un umbral. Esperaba un atajo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta