我们可以通过使用datetime64
只是更名的事实来将@ akilat90的方法加快两倍(在@coldspeed的基准测试中),int64
因此我们可以观看广播:
def pp(start, end, n):
start_u = start.value//10**9
end_u = end.value//10**9
return pd.DatetimeIndex((10**9*np.random.randint(start_u, end_u, n, dtype=np.int64)).view('M8[ns]'))