Мне понравилось значительное ускорение Polars по сравнению с Pandas, за исключением одного случая. Я новичок в Polars, так что это может быть просто мое неправильное использование. В любом случае, вот игрушечный пример:
к одному столбцу мне нужно применить пользовательскую функцию, в моем случае это синтаксический анализ из библиотеки вероятных людей (https://github.com/datamade/probablepeople), но проблема общая.
Обычные панды применяются имеют такую же среду выполнения, как и Polars, но панды с параллельным_применением из (https://github.com/nalepae/pandarallel) получает ускорение пропорционально количеству ядер.
Мне кажется, что Polars использует только одно ядро для пользовательских функций, или я что-то упускаю?
Если я правильно использую Polars, возможно, есть возможность создать такой инструмент, как pandaralell для Polars?
!pip install probablepeople
!pip install pandarallel
import pandas as pd
import probablepeople as pp
import polars as pl
from pandarallel import pandarallel
AMOUNT = 1_000_000
#Pandas:
df = pd.DataFrame({'a': ["Mr. Joe Smith"]})
df = df.loc[df.index.repeat(AMOUNT)].reset_index(drop=True)
df['b'] = df['a'].apply(pp.parse)
#Pandarallel:
pandarallel.initialize(progress_bar=True)
df['b_multi'] = df['a'].parallel_apply(pp.parse)
#Polars:
dfp = pl.DataFrame({'a': ["Mr. Joe Smith"]})
dfp = dfp.select(pl.all().repeat_by(AMOUNT).explode())
dfp = dfp.with_columns(pl.col('a').map_elements(pp.parse).alias('b'))
Подробнее здесь: https://stackoverflow.com/questions/747 ... -functions
Производительность Polars map_elements для пользовательских функций ⇐ Python
Программы на Python
-
Anonymous
1762115856
Anonymous
Мне понравилось значительное ускорение Polars по сравнению с Pandas, за исключением одного случая. Я новичок в Polars, так что это может быть просто мое неправильное использование. В любом случае, вот игрушечный пример:
к одному столбцу мне нужно применить пользовательскую функцию, в моем случае это синтаксический анализ из библиотеки вероятных людей (https://github.com/datamade/probablepeople), но проблема общая.
Обычные панды применяются имеют такую же среду выполнения, как и Polars, но панды с параллельным_применением из (https://github.com/nalepae/pandarallel) получает ускорение пропорционально количеству ядер.
Мне кажется, что Polars использует только одно ядро для пользовательских функций, или я что-то упускаю?
Если я правильно использую Polars, возможно, есть возможность создать такой инструмент, как pandaralell для Polars?
!pip install probablepeople
!pip install pandarallel
import pandas as pd
import probablepeople as pp
import polars as pl
from pandarallel import pandarallel
AMOUNT = 1_000_000
#Pandas:
df = pd.DataFrame({'a': ["Mr. Joe Smith"]})
df = df.loc[df.index.repeat(AMOUNT)].reset_index(drop=True)
df['b'] = df['a'].apply(pp.parse)
#Pandarallel:
pandarallel.initialize(progress_bar=True)
df['b_multi'] = df['a'].parallel_apply(pp.parse)
#Polars:
dfp = pl.DataFrame({'a': ["Mr. Joe Smith"]})
dfp = dfp.select(pl.all().repeat_by(AMOUNT).explode())
dfp = dfp.with_columns(pl.col('a').map_elements(pp.parse).alias('b'))
Подробнее здесь: [url]https://stackoverflow.com/questions/74747889/polars-map-elements-performance-for-custom-functions[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия