Pandas substituem / lentidão no dicionário

Por favor, ajude-me a entender por que essa operação "substituir do dicionário" é lenta no Python / Pandas:

# Series has 200 rows and 1 column
# Dictionary has 11269 key-value pairs
series.replace(dictionary, inplace=True)

As pesquisas de dicionário devem ser O (1). A substituição de um valor em uma coluna deve ser O (1). Não é uma operação vetorizada? Mesmo que não seja vetorizado, iterar 200 linhas é apenas 200 iterações, então como pode ser lento?

Aqui está um SSCCE demonstrando o problema:

import pandas as pd
import random

# Initialize dummy data
dictionary = {}
orig = []
for x in range(11270):
    dictionary[x] = 'Some string ' + str(x)
for x in range(200):
    orig.append(random.randint(1, 11269))
series = pd.Series(orig)

# The actual operation we care about
print('Starting...')
series.replace(dictionary, inplace=True)
print('Done.')

A execução desse comando leva mais de um segundo na minha máquina, milhares de vezes mais que o esperado para executar <1000 operações.

questionAnswers(1)

yourAnswerToTheQuestion