我希望快速将大约 10-20M ISO 日期时间字符串以微秒精度转换为 datetime64,以用作熊猫中的 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 形式中,因为循环并修复数千万个邮票上的格式可能非常慢......