2017-01-12 5 views
1

Ich habe eine Panda-Tabelle mit einer Spalte namens "date_of_work". Diese Spalte enthält Datumsobjekte im folgenden Format MM/TT/JJJJ. Zum Beispiel 9/19/2016 oder 12/5/2016Konvertieren Panda Spalte von Daten in Tage

Ich versuche, eine neue Spalte zu erstellen, die einen Tag von einem Wert zwischen 1 und 365 zuweist, damit ich ein Streudiagramm mit Daten auf dem x erstellen kann Achse. Ich habe diese Funktion:

def converttoday(datex): 
    datex=str(datex) 
    newdate=datex.split('/') 
    day1=int(newdate[0])*30 
    day2=int(newdate[1]) 
    finaldate=day1+day2 
    return finaldate 

es das Jahr ignoriert, weil ich darüber nicht kümmern (mehr auf Saisonalität). Irgendeine Idee, wie man das umwandelt? Ich bekomme einen Fehler, wenn ich das versuche.

Jede Hilfe wird geschätzt!

Antwort

1

Versuchen Sie folgendes:

df['dayofyear'] = pd.to_datetime(df['date_of_work']).dayofyear 
+0

Hey @MaxU, vielen Dank für Ihre Antwort. Es funktionierte, um es zu einem Datum-Zeit-Objekt zu machen. Wenn ich das tue, gibt es einen Befehl, den ich geben kann, um das Datum-Zeit-Objekt auf die Woche des Jahres umzustellen? Ich habe es versucht: –

+0

dt = datetime.date (2016,9,19) wk = dt.isocalendar() [1] drucken wk –

+0

Das erzeugt die richtige Woche, aber nur wenn Parameter in dieser Reihenfolge eingegeben werden. Es zeigt keine Arbeit mit einem Datum-Zeit-Objekt. –

Verwandte Themen