2016-05-18 16 views
0

Entschuldigung für diese noob Frage. Ich habe einen Datenrahmen, der wie folgt aussieht:Wie macht man ein einfaches groupby in Pandas?

df = pd.DataFrame({'chemical': ['A', 'A', 'A', 'B', 'B'], 'cost': [102, 104, 86, 20, 92], 'id': [1, 2, 3, 4, 5]}) 

Wie kann ich eine Rangliste der Gesamtkosten durch chemische bekommen?

Ich weiß, es geht mit diesem Start:

cost_by_chemical = df2.groupby('chemical') 

aber ich bin nicht sicher, wie es weitergeht?

Danke!

Antwort

2

IIUC dann wollen Sie die folgenden Schritte aus:

In [18]: 
df.groupby('chemical')['cost'].sum().rank().reset_index() 

Out[18]: 
    chemical cost 
0  A 2.0 
1  B 1.0 

Oder

In [20]:  
df.groupby('chemical')['cost'].sum().reset_index() 

Out[20]: 
    chemical cost 
0  A 292 
1  B 112