este problema se puede tratar de variadas formas, pero te damos la solución más completa para nosotros.
Solución:
Usar GroupBy.sum
:
df.groupby(['Fruit','Name']).sum()
Out[31]:
Number
Fruit Name
Apples Bob 16
Mike 9
Steve 10
Grapes Bob 35
Tom 87
Tony 15
Oranges Bob 67
Mike 57
Tom 15
Tony 1
También puedes usar la función agg,
df.groupby(['Name', 'Fruit'])['Number'].agg('sum')
Si desea mantener las columnas originales Fruit
y Name
usar reset_index()
. De lo contrario Fruit
y Name
pasará a formar parte del índice.
df.groupby(['Fruit','Name'])['Number'].sum().reset_index()
Fruit Name Number
Apples Bob 16
Apples Mike 9
Apples Steve 10
Grapes Bob 35
Grapes Tom 87
Grapes Tony 15
Oranges Bob 67
Oranges Mike 57
Oranges Tom 15
Oranges Tony 1
Como se ve en las otras respuestas:
df.groupby(['Fruit','Name'])['Number'].sum()
Number
Fruit Name
Apples Bob 16
Mike 9
Steve 10
Grapes Bob 35
Tom 87
Tony 15
Oranges Bob 67
Mike 57
Tom 15
Tony 1
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)