Zum Beispiel, wenn ich dateframe verfolgt haben,Wie berechnet man den Zeitunterschied zwischen zwei verschiedenen Feldern aufeinanderfolgender Reihen in Pandas?
Task Started_Time Time_Duration (min)
A 23/05/2016 07:00 02:03:38
B 23/05/2016 09:45 08:03:38
A 23/05/2016 12:00 00:30:38
A 23/05/2016 15:30 01:03:38
A 23/05/2016 21:00 26:03:38
B 23/05/2016 18:00 30:03:38
Wie Datum Zeit mit Zeitdelta hinzufügen, um die „Finished_Time“ zu finden?
Und wie gruppiert man die Datei nach Aufgaben (A, B, ...) und finde die "Freizeit" bevor die nächste Aufgabe startet?
(zum Beispiel, wenn die erste Aufgabe A um (7h + 02:03:38) 09:03:38 abgeschlossen ist. Wie die "Free_Time" vor der nächsten Aufgabe A um 12:00:00 zu finden ist.
Hier ist, wie ich diesen Datenrahmen erstellt
Task = ['A','B', 'A','A', 'A' ,'B']
Started Time = ['23/05/2016 07:00:00', '23/05/2016 09:45:00' ,'23/05/2016 12:00:00', '23/05/2016 15:30:00', '23/05/2016 21:00:00', '23/05/2016 18:00:00' ]
Time Duration = ['02:03:38', '08:03:38','00:30:38','01:03:38','26:03:38','30:03:38']
wenn ich versuche, „begann Zeit‘ in Datetime zu konvertieren, diese mit.
df['Started_Time'] = df['Started_Time'].values.astype('datetime64[D]')
bekomme ich folgende Fehlermeldung:
ValueError: Error parsing datetime string "23/05/2016 07:00" at position 2
Wie Sie diesen Fehler beheben und mit "Time_Duration" hinzufügen. Ich konvertieren Zeitdauer Zeitdelta,
df['Time_Duration'] = pd.to_timedelta(df['Time_Duration'], unit = 'm')
df['Finished_Time'] = df['Started_Time'] + df['Time_Duration']
Und die "FREE_TIME" zu finden, habe ich diesen Code,
df.sort_values(['Task']
i=1
for index, row in df.iterrows():
if df.iloc[i,1] == df.iloc[i+1,1]:
df['Free_Time'] = df.iloc[i+1,2] + df.iloc[i,3]
i+1
print df['Free_Time']
Und bekomme ich folgende Fehlermeldung:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
Bitte posten Ihr Code und sagen Sie uns, wo Sie stecken geblieben sind. Sie sollten auch http://stackoverflow.com/help/how-to-ask und http://stackoverflow.com/help/mcve besuchen –