2017-11-15 3 views
0

ich eine Spalte berechnet, um den folgenden Code:Python Datenrahmen: Entfernen Zeitstempel berechnet Feld Tage

df_EVENT5_5['age'] = dt.datetime.now().date() - df_EVENT5_5['dt_old'] 
    df_EVENT5_5['age_no_days'] = df_EVENT5_5['age'].dt.total_seconds()/ (24 * 60 * 60) 

Die Ausgabespalte den Zeitstempel aus irgendeinem Grund enthält.

enter image description here

Wie kann ich den Zeitstempel entfernen?

ich unten versucht, aber hat nicht funktioniert:

remove_timestamp_col = ['COL_1', 'COL_2'] 

    for i in remove_timestamp_col: 
     df_EVENT5_13[i] = df_EVENT5_13[i].age.days() 

Antwort

0

Ich denke, es könnte einige Termine mit Zeitstempel in den Daten sein, versuchen Sie das Datum subtrahieren nur:

df_EVENT5_5['age'] = dt.date.today() - df_EVENT5_5['dt_old'].apply(dt.datetime.date) 
#This gives you the days difference as a number 
df_EVENT5_5['age_no_days'] = df_EVENT5_5['age'].dt.days 
#If you want it to have 'Days' in the end, you can use concatenation: 
df_EVENT5_5['age_with_days'] = df_EVENT5_5['age_no_days'].astype('str') + ' Days' 
+0

gearbeitet! danke – PineNuts0

+0

Wenn ich die Tabelle nach Excel schreibe sehe ich immer noch den Zeitstempel im Zellenwert ..... Hilfe? – PineNuts0

+0

Ich habe den Code ein wenig modifiziert, ich habe das Attribut 'days' anstelle der 'total_seconds()' aufgerufen, um Ihnen den Unterschied in Tagen als Zahl zu geben, dann können Sie ihn mit dem Wort 'days' versehen Darstellung, die du willst. –