0
私はタイムスタンプに、文字列の変換をスピードアップに取り組んでいる、と私はタイムスタンプのコンストラクタを使用すると、これを行うための絶食の方法であるように思われたことに気づいた:なぜタイムスタンプコンストラクタは日付文字列を解析する最も速い方法ですか?
import pandas as pd
from time import perf_counter as pc
test_time = '2016-12-01 19:44:47.891124'
t0 = pc()
for _ in range(100000):
pd.Timestamp.strptime(test_time, '%Y-%m-%d %H:%M:%S.%f')
pc() - t0
# 1.6517095469753258
t0 = pc()
for _ in range(100000):
pd.to_datetime(test_time)
pc() - t0
# 5.428138378018048
t0 = pc()
for _ in range(100000):
pd.Timestamp(test_time)
pc() - t0
# 0.20555895700817928
私はコンストラクタは実際にはもっとあることを驚いていますパフォーマンスはstrptime
メソッドよりも優れています。後者では、文字列を解析する方法を明示しているためです。これらの他のアプローチよりもはるかに優れているタイムスタンプコンストラクタは何ですか?
このコードは読みにくいです。おそらく、このようなものをPythonでフォーマットするべきではありません。 – byxor
あなたは[それを見て](https://github.com/pandas-dev/pandas/blob/master/pandas/tslib.pyx#L249)見つけましたか?パンダはオープンソースです。 – jonrsharpe
@BrandonIbbotsコードは時間のテストには十分でしたが、読みやすくするためにコードを更新しました。 –