[英]How to convert numpy datetime64 [ns] to python datetime?
[英]how to convert object type to datetime64[ns] in python jupyter?
我有一列這樣的對象類型:
quote['SellTime'].head()
Out[32]:
0 94520
1 94538
2 94609
3 94615
4 94617
Name: SellTime, dtype: object
我想將其轉換為日期時間(datetime64 [ns])格式。
我已經完成以下代碼:
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
但是它仍然是對象類型:
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
如果需要datetime
也需要date
:
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
或者將時間轉換為timedelta
更好:
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]
因為如果將datetimes轉換為time
s:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.