■
変換で キャッシュすると早くなるかもしれない。
from functools import lru_cache @lru_cache(1024) def to_datetime(s): return pd.to_datetime(s) t = [pd.datetime(np.random.randint(2015, 2016), np.random.randint(1, 13), np.random.randint(1, 29)).strftime('%Y/%m/%d') for _ in range(10000)] a = pd.DataFrame(t, columns=['dt']) %time a.dt = a.dt.apply(pd.to_datetime) a = pd.DataFrame(t, columns=['dt']) %time a.dt = a.dt.apply(to_datetime)Wall time: 792 ms Wall time: 40 ms