如何更快地创建熊猫指数?

时间:2017-06-18 19:39:16

标签: python performance pandas

为什么以下代码段表现如此糟糕:

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。任何想法如何重写最后一行?

2 个答案:

答案 0 :(得分:3)

如果需要TimedeltaIndex,则可以使用to_timedeltaTimedeltaIndex

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')