2016-04-23 24 views
3

Ich versuche herauszufinden, wie Sie eine Beziehung zwischen zwei Spalten in einem Datenframe ermitteln. Die Beziehung besteht zwischen Artikeln und Gesamt. Ich möchte die Summe Gesamtbetrag für jeden 'Artikel' Wert berechnen, wobei Artikel die Anzahl der Artikel pro Warenkorb sind und Summe der Gesamtbetrag/Kosten pro Warenkorb ist. Die Säulen:Beziehung zwischen zwei Spalten Python

Date Time Basket Items Total 

Mein aktueller Code Python jede Frequenz der Anzahl der Einzelteile zu erhalten ist:

items = result['Items'].value_counts() 

ich diesen Code versucht habe, die Summen zu bekommen (und andere ..):

Total_per_Items = result.groupby(['Items','Total']) 
Totals = Total_per_Items['Total'].sum() 
Totals 

und diese Ausgabe erhalten:

Items Total 
1 0.00  0.00 
    0.01  0.03 
    0.02  0.02 
    0.11  0.11 
    0.22  0.22 
    0.24  0.24 
    0.28  0.28 
    0.29  0.29 

Wo stattdessen möchte ich so etwas bekommen:

Items Total 
1  10500.65 
2  2300.50 
3  3450.34 

ich die Ausgabe oben aus, aber ich bin sicher, dass Sie die Drift. Es hat mich gebacken.

Antwort

0

Dies gibt Ihnen die Summe von Total von Item:

result.groupby(['Items'])['Total'].sum() 

Beispiel:

>>> result = pd.DataFrame({'Items': [1, 2, 3, 2, 1, 2, 3], 
          'Total': [10, 20, 30, 20, 10, 20, 30]}) 
>>> result.groupby(['Items'])['Total'].sum() 
Items 
1 20 
2 60 
3 60 
Name: Total, dtype: int64 

Das gibt Ihnen einen Datenrahmen als Ergebnis:

>>> result.groupby(['Items'])['Total'].sum().to_frame() 

     Total 
Items  
1   20 
2   60 
3   60 
+0

Ah, ich dachte mir benötigt, um Total und Items zu gruppieren anstatt nur Items – Theant6118

Verwandte Themen