2016-11-21 5 views
1

Ich habe diesen Datenrahmen:Wie fasst man die Werte jeder Kategorie in einem Serienobjekt zusammen?

Backpacking equipment DataFrame

Was ich tun müssen, um Gruppe ist der Datenrahmen durch die Category Spalt, und dann eine Funktion verwenden, um das Gesamtgewicht der einzelnen Kategorien zu berechnen. Das ist, was ich bisher ...

I
def multiply(group, quantity, weight): 
    x = group[quantity] 
    y = group[weight] 

    return x * y 

print(df.groupby('Category').apply(multiply, 'Quantity', 'Weight (oz.)')) 

Das Ergebnis erhalten

Quantity by weight

ist nun getan habe, wie ich es zusammenzufassen, das Gesamtgewicht von jeder Kategorie bis (dh , Pack, Shelter, Sleep usw.) des resultierenden Objekts Series Objekt?

+0

Können Sie Ihren Datenrahmen im Textformat einfügen bitte? –

Antwort

1

eine Probe Ihrer Daten verwenden:

Item,Category,Quantity,Weight (oz.) 
Sleeping Pad,Sleep,1,80.0 
Sleeping Bag,Sleep,1,20.0 
Spoon,Kitchen,1,0.87 
Stove,Kitchen,1,20.0 
Water Filter,Kitchen,1,1.8 
Water Bottles,Kitchen,2,35.0 

In [1]: df = pd.read_clipboard(sep=',', index_col=0) 


In [2]: df.groupby('Category').apply(lambda x: (x['Quantity'] *x['Weight (oz.)']).sum()) 
Out[2]: 
Category 
Kitchen  92.67 
Sleep  100.00 
dtype: float64 
Verwandte Themen