簡體   English   中英

如何在python jupyter中將對象類型轉換為datetime64 [ns]?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM