2016-09-08 9 views
0

Ich habe einen Datenrahmen DF:compute Mittelwert einer Säule mit Python

TIMESTAMP equipement1 equipement2 
2016-05-10 13:20:00 0.000000 0.000000 
2016-05-10 14:40:00 0.400000 0.500000 
2016-05-10 15:20:00 0.500000 0.500000 

Ich möchte berechnen für jeden das Verhältnis equipmeentx wenn Zeitstempel in [TS_min, TS_max] Beispiels Funktion:

def ratio(df, 2016-05-10 14:40:00, 2016-05-10 15:20:00) 
TIMESTAMP equipement1 equipement2 
2016-05-10 14:40:00 0.4/(0.4+0.5) 0.5/(0.5+0.5) 
2016-05-10 15:20:00 0.5/(0.4+0.5) 0.5/(0.5+0.5) 

Jede Idee, mir bitte zu helfen?

Danke

+0

Mögliches Duplikat [Pandas Spalt Durchschnitt erhalten] (http://stackoverflow.com/questions/31037298/ Pandas-get-column-Durchschnitt) – Jann

Antwort

1

Unter der Annahme, TIMESTAMP ein Datetime-Typ ist, hier ist ein Weg:

df = df.set_index('TIMESTAMP') 
r = df.ix['2016-05-10 14:40:00':'2016-05-10 15:20:00'] 
r/r.sum() 

        equipement1 equipement2 
TIMESTAMP 
2016-05-10 14:40:00  0.444444   0.5 
2016-05-10 15:20:00  0.555556   0.5 
+0

Danke Boud, aber warum wir als Index TIMESTAMP gesetzt haben? – Poisson

+1

Weil es sehr einfach und leistungsstark ist, mit Datetimeindex in Pandas zu arbeiten. http://pandas.pydata.org/pandas-docs/stable/timeseries.html – Boud

+0

Ok danke :) – Poisson

Verwandte Themen