2015-12-20 13 views
16

Mam kolumny pandy z datownikPandy: Konwersja Datownik do datetime.date

In [27]: train["Original_Quote_Date"][6] 
Out[27]: Timestamp('2013-12-25 00:00:00') 

Jak można sprawdzić równoważność tych obiektów do datetime.date obiektów typu

datetime.date(2013, 12, 25) 
+0

Zobacz także powiązane pytanie dla * datetime *: http://stackoverflow.com/questions/13703720/converting-between-datetime-timestamp-and-datetime64 –

Odpowiedz

19

Użyj .date Metoda:

In [11]: t = pd.Timestamp('2013-12-25 00:00:00') 

In [12]: t.date() 
Out[12]: datetime.date(2013, 12, 25) 

In [13]: t.date() == datetime.date(2013, 12, 25) 
Out[13]: True 

Dla porównania na DatetimeIndex (tj tablica znaczniki czasu), będziemy chcieli zrobić to na odwrót:

In [21]: pd.Timestamp(datetime.date(2013, 12, 25)) 
Out[21]: Timestamp('2013-12-25 00:00:00') 

In [22]: ts = pd.DatetimeIndex([t]) 

In [23]: ts == pd.Timestamp(datetime.date(2013, 12, 25)) 
Out[23]: array([ True], dtype=bool) 
2

można przekonwertować datetime.date obiektu do pandy Datownik podobny do tego:

#!/usr/bin/env python3 
# coding: utf-8 

import pandas as pd 
import datetime 

# create a datetime data object 
d_time = datetime.date(2010, 11, 12) 

# create a pandas Timestamp object 
t_stamp = pd.to_datetime('2010/11/12') 

# cast `datetime_timestamp` as Timestamp object and compare 
d_time2t_stamp = pd.to_datetime(d_time) 

# print to double check 
print(d_time) 
print(t_stamp) 
print(d_time2t_stamp) 

# since the conversion succeds this prints `True` 
print(d_time2t_stamp == t_stamp) 
5

Od pand 0.20.3, należy .to_pydatetime() konwertować żadnych pandas.DateTimeIndex instancji z Pythonem datetime.datetime.

Powiązane problemy