【发布时间】:2012-10-19 11:10:44
【问题描述】:
我希望快速将大约 10-20M ISO 日期时间字符串以微秒精度转换为 datetime64,以用作 pandas 中的 DataFrame 索引。
我正在使用 pandas 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)
在我的笔记本电脑上,大约 300 毫秒。
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 形式中,因为循环并修复数以千万计的邮票的格式可能非常慢......
【问题讨论】: