第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

解析包含納秒的日期時(shí)間字符串

解析包含納秒的日期時(shí)間字符串

慕虎7371278 2019-11-03 15:04:46
我有一些時(shí)間格式為HH:MM :: SS.nano_seconds的日志文件(例如01:02:03.123456789)。我想在python中創(chuàng)建一個(gè)日期時(shí)間,這樣我就可以在時(shí)間上整齊地做數(shù)學(xué)運(yùn)算(例如,取時(shí)差)。使用%f,strptime在微秒內(nèi)效果很好。Python日期時(shí)間模塊是否真的不支持納秒級(jí)?
查看完整描述

3 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以很自然地使用納秒級(jí)甚至更精確的時(shí)間單位(ps,fs,as)numpy。Numpy有自己的Datetimes和Timedeltas實(shí)現(xiàn),因此您可以嘗試np.datetime64:


import numpy as np

def str_to_ns(time_str):

     """

     input: time in a format `hh:mm:ss.up_to_9_digits`

     """

     h, m, s = time_str.split(":")

     int_s, ns = s.split(".")

     ns = map(lambda t, unit: np.timedelta64(t, unit),

              [h,m,int_s,ns.ljust(9, '0')],['h','m','s','ns'])

     return sum(ns)

然后,您可以通過以下方式使用此功能:


>>> src = "1:2:34.123456789"

>>> out = str_to_ns(src)

>>> print(out)

3754123456789 nanoseconds

>>> out / np.timedelta64(1,'h')

1.0428120713302778

>>> out / np.timedelta64(1,'m')

62.568724279816664

>>> out / np.timedelta64(1,'s')

3754.123456789

算術(shù)也是可能的:


>>> t1, t2 = str_to_ns("1:0:12.12345678"), str_to_ns("1:0:12.12")

>>> t1 - t2

numpy.timedelta64(3456780,'ns')

我同意這不是很自然,但是通過這種方式,您可以使用just獲得任意的高時(shí)間精度numpy。



查看完整回答
反對(duì) 回復(fù) 2019-11-04
  • 3 回答
  • 0 關(guān)注
  • 475 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)