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.