为什么以下代码段表现如此糟糕:
import numpy
import pandas
time = numpy.array(range(0, 1000000, 10), dtype = numpy.uint32)
index = [ pandas.Timedelta(str(t) + 'ms') for t in time ]
在一个体面的桌面上花了大约一秒半的时间,而我们只讨论了一百万pandas.Timedelta
。任何想法如何重写最后一行?
答案 0 :(得分:3)
如果需要TimedeltaIndex,则可以使用to_timedelta
或TimedeltaIndex
:
index = pd.to_timedelta(time, unit='ms')
或者:
index = pd.TimedeltaIndex(time, unit='ms')
答案 1 :(得分:3)
您也可以使用pd.timedelta_range
index = pd.timedelta_range(0, periods=10000, freq='10ms')