1

I have a column of object type like this:

 quote['SellTime'].head()


 Out[32]:
  0    94520
  1    94538
  2    94609
  3    94615    
  4    94617
  Name: SellTime, dtype: object

I want to convert it to to date time (datetime64[ns]) format.

I have done the following code:

 quote['SellTime'].astype(str).astype(int)
 t2 = quote['SellTime'].astype(str).str.zfill(6)
 quote['SellTime'] = pd.to_datetime(t2, format='%H%M%S').dt.time

But it is still object type:

 quote['SellTime'].head()

 0    09:45:20
 1    09:45:38
 2    09:46:09
 3    09:46:15
 4    09:46:17
 Name: SellTime, dtype: object
errantlinguist
  • 3,658
  • 4
  • 18
  • 41
ary
  • 151
  • 1
  • 2
  • 14

1 Answers1

2

You need dates too if need datetimes:

quote['SellTime'] = pd.to_datetime(t2, format='%H%M%S')
print (quote)
             SellTime
0 1900-01-01 09:45:20
1 1900-01-01 09:45:38
2 1900-01-01 09:46:09
3 1900-01-01 09:46:15
4 1900-01-01 09:46:17

Or better is convert times to timedeltas:

quote['SellTime']=pd.to_timedelta(pd.to_datetime(t2,format='%H%M%S').dt.strftime('%H:%M:%S'))
print (quote['SellTime'])
0   09:45:20
1   09:45:38
2   09:46:09
3   09:46:15
4   09:46:17
Name: SellTime, dtype: timedelta64[ns]

Because if convert datetimes to times:

quote['SellTime'] = pd.to_datetime(t2, format='%H%M%S').dt.time

print (quote['SellTime'].dtype)
object

print (quote['SellTime'])
0    09:45:20
1    09:45:38
2    09:46:09
3    09:46:15
4    09:46:17
Name: SellTime, dtype: object

print (quote['SellTime'].apply(type))
0    <class 'datetime.time'>
1    <class 'datetime.time'>
2    <class 'datetime.time'>
3    <class 'datetime.time'>
4    <class 'datetime.time'>
Name: SellTime, dtype: object
jezrael
  • 822,522
  • 95
  • 1,334
  • 1,252
  • I have tried this but i don not want that year in start of SellTime just Time is needed not year – ary Dec 18 '17 at 09:37
  • I think I understand, but is not possible in python create datetimes without dates. But is possible create [timedelta](http://pandas.pydata.org/pandas-docs/stable/timedeltas.html)s, whot is the closest what you need. – jezrael Dec 18 '17 at 09:40