2017-03-18 7 views
-4

Gibt es eine Möglichkeit, Ganzzahlen des Bereichs (0,365) in Daten (dtype = 'datetime64 [D]') zu konvertieren? ZB: 0 -> 1 jan 1 -> 2 jan . . 31 -> 1 Februar . . 364-> 31 dezKonvertieren von Ganzzahlen in Daten in Python

P.S: Ich brauche das Jahr nicht. Nur Datum und Monat für ein Nicht-Schaltjahr.

+0

Bezogen auf das laufende Jahr? (Was ist mit '60', sollte diese Karte auf den 29. Februar oder 1. März lauten?) – L3viathan

Antwort

0

Wenn Sie wollen, dass die Zuordnung in einem Wörterbuch sein, das ist, wie es aussehen würde:

import datetime 
In [35]: days = {} 

In [36]: for i in range(0, 365): 
    ...:  days[i] = (datetime.datetime(2017, 1, 1) + datetime.timedelta(days=i)).strftime("%d %b") 
    ...:  

Sie werden diese:

In [37]: days 
Out[37]: 
{0: '01 Jan', 
1: '02 Jan', 
2: '03 Jan', 
3: '04 Jan', 

... 
0

Wie Sie erwähnt haben, dass Sie das Suchresultates für ein Nicht-Schaltjahr, so erstellen das Datetime Objekt mit einem Nicht-Schaltjahr wie ‚2015‘

from datetime import datetime, timedelta 
for day_count in range(0, 365) : 
    curr_date_object = datetime.strptime('2015-01-01', '%Y-%m-%d') + timedelta(days=day_count) 
    print(curr_date_object.strftime("%d %b")) 

Dies wird wieder das gewünschte Ergebnis brauchen .

01 Jan 
02 Jan 
03 Jan 
04 Jan 
05 Jan 
... 
Verwandte Themen