我正在尋找快速投擲約10-20M ISO日期時間字符串與微秒精度datetime64作爲一個數據框索引在熊貓。熊貓鑄造ISO字符串datetime64
我在熊貓0.9,並嘗試了git上建議的解決方案,但我發現需要20到30分鐘,或永遠不會完成。
我想我發現了這個問題。比較這兩個速度:
rng = date_range('1/1/2000', periods=2000000, freq='ms')
strings = [x.strftime('%Y-%m-%d %H:%M:%S.%f') for x in rng]
timeit to_datetime(strings)
在我的筆記本電腦上,〜300ms。
rng = date_range('1/1/2000', periods=2000000, freq='ms')
strings = [x.strftime('%Y%m%dT%H%M%S.%f') for x in rng]
timeit to_datetime(strings)
在我的筆記本電腦上,永遠和一天。
我可能會更改生成時間戳的C++代碼,以便將它們放在更詳細的ISO表單中,因爲循環和固定數千萬個郵票上的格式可能相當緩慢。
剛看到這一點,謝謝!這幾乎是我最終爲一個項目做的 - 另一個我能夠將格式更改爲首選;我會看看to_datetime。 – radikalus
其實本例中使用的格式不是正確的格式,合併數據和時間應該用'T'字母分隔。即使在這種情況下使用熊貓的to_datetime(),執行速度也很快。 – anddam