日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

返回后的数据处理_【掘金使用技巧2】掘金返回数据中时间的处理方法

發布時間:2023/12/15 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 返回后的数据处理_【掘金使用技巧2】掘金返回数据中时间的处理方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

掘金輸出的時間數據處理方法

掘金在為使用者提供數據時,有一類數據處理起來有些麻煩,這類數據就是時間數據。

它們長這樣:

或者這樣:

查看一下它們的類型,發現有datetime,datetime64,Timestamp等等。

這么多各種各樣的類型,我們應該怎樣處理呢?

轉化成標準的“年月日”格式

以tick里面的“created_at”為例,該數據由“年、月、日、時、分、秒+時區”組成。想要轉化為標準的年月日時分秒數據,需要用到datatime庫中的strftime。strftime是將一個字符串轉化為時間格式。因此需要先將“created_at”轉化為字符串,再用strptime轉化為時間格式。

由于“created_at”里面包含元素過多,我們只需要提取其中的年月日即可,這是要用到split函數,將字符串拆分。我們只需要“年月日”這部分,所以要將空格之前的部分提取出來。

步驟:將時間轉化為字符串——將字符串拆分——將新的字符串轉化為時間格式

time = tick['created_at']t = datetime.datetime.strptime(str(time).split(' ')[0],'%Y-%m-%d')

如果是裝在dateframe里面的時間怎么處理?

dateframe的話要先遍歷整個dateframe中的eob,逐個轉化為標準時間格式。此時要用到apply函數。

data = history(symbol='SHSE.600519',start_time='1997-01-20',end_time='2020-01-01',fields='symbol,eob,close',df=True)data['eob'] = data['eob'].apply(lambda x:x.strftime('%Y-%m-%d'))

轉化成標準的“年月日,時分秒”格式

和上面的思路相同,不過這次要提取的字符串部分變為“年月日,時分秒”這部分,所以要將"+"之前的部分提取出來,再將“.”前面的部分提出來。

time = tick['created_at']t = datetime.datetime.strptime(str(time).split('+')[0].split('.')[0],'%Y-%m-%d %H:%M:%S')

返回結果:

提取其中的年、月、日、時、分、秒

有時我們需要提取某段時間的其中一部分,這時直接提取相應部分即可。

# 年月日、時分秒year = t.yearmonth = t.monthday = t.dayhour = t.hourminute = t.minutesecond = t.secondweekday = t.weekday()

時間調整

如果我想要向前一天或向后一天的數據時該怎么辦?
這時要用到datetime里面的timedelta函數。這個函數能夠自動返回時間差。

舉個例子:如果我想要當前時間向前推一天。首先將timedelta里面設置為1天,向前推一天就表示在原來的時間-時間間隔。

change_time = t - datetime.timedelta(days=1)

得到的時間剛好是2020年8月31日。

如果是向后推一天,就用(t+時間間隔)即可。

來源:掘金社區? 作者:四兩

聲明:本公眾號致力于量化投資相關的干貨文章分享,僅供交流探討,不構成任何投資建議!著作權歸作者所有,若涉及侵犯您的權益,敬請原作者見諒,并后臺留言聯系小編進行協商或刪除處理,謝謝。

END

點擊“閱讀原文”掘金量化實盤申請

總結

以上是生活随笔為你收集整理的返回后的数据处理_【掘金使用技巧2】掘金返回数据中时间的处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。