Dies ist mein Datenrahmen zählen:Reihen-Gruppe und mittlere berechnen und
df =
UD QTY GRADE TIME_1 TIME_2
1 20 5 22.5 16.1
1 20 5 26.2 19.5
1 20 5 30.0 14.0
1 20 4 20.0 18.5
2 25 4 23.3 19.9
I Mittelwert von TIME_1
und TIME_2
für jede Kombination von UD
und QTY
berechnen müssen. Dann möchte ich die neue Spalte GRADE_COUNT
hinzufügen, die die Gesamtzahl der Zeilen pro Gruppe speichert. Zum Beispiel setzen die in den oben angegebenen Daten sind 4 Zeilen pro Gruppe definiert durch UD
= 1 und QTY
= 20.
Das Ergebnis sollte sein, diese:
df =
UD QTY MEAN_TIME_1 MEAN_TIME_2 COUNT
1 20 24.67 17.02 4
2 25 23.3 19.9 1
ich diesen Code, welche Gruppen geschrieben Zeilen, berechnet Mittelwerte und zählt Werte.
groupby_object = df[['UD', 'QTY', 'GRADE', 'TIME_1', 'TIME_2']].groupby(['TIME_1', 'TIME_2])
df = groupby_object.agg('mean').rename(columns = lambda x: x + ' mean').join(pd.DataFrame(groupby_object.size(),columns=['counts'])).reset_index()
Doch statt mittleren Zeiten der Berechnung, berechnet sie bedeuten QTY
und GRADE
, auch die Spalte UD
verschwindet.
'df.groupby ([ 'UD', 'Menge']) [[ 'TIME_1', 'TIME_2' ]].mean() '- ist das was du willst? – MaxU
@MaxU: Bitte sehen Sie mein Update. Ich habe das erwartete Ergebnis veröffentlicht. – Dinosaurius
@DavidZ: Ich benutze die letzte Version von Pandas: 0.19.1 – Dinosaurius