2017-01-23 12 views
2

Ich muss nur einen Monat und ein Datum (ein Geburtstag) ohne einen Jahreswert speichern.Speichern von Tag und Monat ohne Jahr in Python

Wenn man sich die Dokumentation für Pandas anschaut (vor allem, weil sie nützliche Zeitmanipulationsfunktionen hat), speziell Perioden, so muss man einen Zeitraum und eine Frequenz übergeben. Ich bin mir nicht sicher, wie ich den Frequenzteil in Bezug auf mein Problem verwenden soll. Welche Frequenz wäre am besten geeignet? Ist die Verwendung von PD sogar der beste Weg, dies zu tun?

Danke!

+0

zeigen Beispieldaten und erwartetes Ergebnis. Hast du es als Datetime oder String? Wenn als String dann slicing ie verwenden. '" 23.01.2017 "[: 5]', wenn als DatumZeit dann als String mit 'strftime' formatiert wird. – furas

Antwort

2

Das ist nicht wie Period funktioniert. Sie repräsentieren eine bestimmte Zeitspanne. Ähnlich wie Timestamp 's bestimmte Zeitpunkte darstellen.

Sie scheinen eine generische Month-Day Bezeichnung zu wollen. Sie können strftime verwenden, um die Zeichenfolge abzurufen, aber Sie verlieren jegliche Datumsmanipulation.

Betrachten Sie die Reihe von Zeitstempeln mit Timestamp-Indizes.

s = pd.date_range('2011-01-31', periods=12, freq='M').to_series() 
s 

2011-01-31 2011-01-31 
2011-02-28 2011-02-28 
2011-03-31 2011-03-31 
2011-04-30 2011-04-30 
2011-05-31 2011-05-31 
2011-06-30 2011-06-30 
2011-07-31 2011-07-31 
2011-08-31 2011-08-31 
2011-09-30 2011-09-30 
2011-10-31 2011-10-31 
2011-11-30 2011-11-30 
2011-12-31 2011-12-31 
Freq: M, dtype: datetime64[ns] 

können Sie erhalten nur den Monat und Tag wie diese (see this site for a summary of strftime)

s.dt.strftime('%m-%d') 

2011-01-31 01-31 
2011-02-28 02-28 
2011-03-31 03-31 
2011-04-30 04-30 
2011-05-31 05-31 
2011-06-30 06-30 
2011-07-31 07-31 
2011-08-31 08-31 
2011-09-30 09-30 
2011-10-31 10-31 
2011-11-30 11-30 
2011-12-31 12-31 
Freq: M, dtype: object 
Verwandte Themen