Почему эта пользовательская функция map_elements() работает медленнее в Polars, чем apply() в PandasPython

Программы на Python
Anonymous
 Почему эта пользовательская функция map_elements() работает медленнее в Polars, чем apply() в Pandas

Сообщение Anonymous »

Я выполнил следующее в блокноте Jupyter и был разочарован тем, что аналогичный код Pandas работает быстрее. Надеюсь, кто-нибудь сможет продемонстрировать более разумный подход в Polars.
ВЕРСИЯ POLARS

Код: Выделить всё

def cleanse_text(sentence):
RIGHT_QUOTE = r"(\u2019)"
sentence = re.sub(RIGHT_QUOTE, "'", sentence)
sentence = re.sub(r" +", " ", sentence)
return sentence.strip()
df = df.with_columns(pl.col("text").map_elements(lambda x: cleanse_text(x)).name.keep())
ВЕРСИЯ PANDAS

Код: Выделить всё

def cleanse_text(sentence):
RIGHT_QUOTE = r"(\u2019)"
sentence = re.sub(RIGHT_QUOTE, "'", sentence)
sentence = re.sub(r" +", " ", sentence)
return sentence.strip()
df["text"] = df["text"].apply(lambda x: cleanse_text(x))
Вышеупомянутая версия Pandas была на 10 % быстрее, чем версия Polars, когда я запускал ее на фрейме данных с 750 000 строк текста.


Подробнее здесь: https://stackoverflow.com/questions/750 ... ly-in-pand

Вернуться в «Python»