看起来
replace有些开销,并且明确地告诉该系列该怎么做才能
map产生最佳性能:
series = series.map(lambda x: dictionary.get(x,x))
如果您确定所有键都在字典中,则可以通过不创建lambda并直接提供该
dictionary.get函数来稍微提高性能。任何不存在的密钥将
NaN通过此方法返回,因此请注意:
series = series.map(dictionary.get)
您也可以只提供字典本身,但这似乎会带来一些开销:
series = series.map(dictionary)
时机
使用示例数据进行一些时序比较:
%timeit series.map(dictionary.get)10000 loops, best of 3: 124 µs per loop%timeit series.map(lambda x: dictionary.get(x,x))10000 loops, best of 3: 150 µs per loop%timeit series.map(dictionary)100 loops, best of 3: 5.45 ms per loop%timeit series.replace(dictionary)1 loop, best of 3: 1.23 s per loop



