我試圖用5120 Hz的採樣頻率生成pandas.DateTimeIndex
。這給出了increment=0.0001953125
秒的時間段。pandas.date_range精確頻率參數
如果您嘗試使用pandas.date_range()
,則需要將頻率(參數freq
)指定爲str
或pandas.DateOffset
。第一個只能處理高達1 ns的精度,後者與str
相比性能可怕,甚至出現更糟糕的錯誤。
當使用串,我構造如下:
freq=str(int(increment*1e9))+'N')
其中後3萬條記錄的關於執行在小於2秒我的270 MB的文件,但是我有一個錯誤(在DateTimeIndex) 1500μs。
當使用pandas.DateOffset
,像這樣
freq=pd.DateOffset(seconds=increment)
它分析在1分鐘內14秒的文件,但具有大約的第二個的錯誤。
我也嘗試過使用
starttime + pd.to_timedelta(cumulativeTimes, unit='s')
這筆款項還需要年齡完成構建DateTimeIndex
,但不具有錯誤的產生DateTimeIndex
唯一的一個。
如何才能實現DateTimeIndex
的高性能生成,保持我的準確性?
如果在熊貓中似乎存在錯誤,您可以在https://github.com/pydata/pandas/issues中打開關於它的問題嗎? – joris
@joris我以爲在熊貓有一個bug,但我不這麼認爲。熊貓的準確度只有1納秒,其他因素都是舍入誤差造成的。 – rubdos