TGViewer
EasyData EasyData @data_easy · 1.46K subscribers
Post #161 924
Всем доброго вечера!
Часто ли вам приходилось работать с большими pandas-датафреймами? Если их размер достигает порядка нескольких миллионов строк, то время выполнения элементарных операций становится ощутимым😒
Дело в том, что pandas использует только одно ядро вашего компьютера, даже если доступно несколько. Поэтому можно в разы ускорить процесс обработки данных, если его распараллелить - в этом помогает библиотека Pandarallel, ловите несколько примеров её применения🐈🐈🐈

✨ Первым делом необходимо "включить" библиотеку: чтобы использовать все доступные процессоры, просто запустите

from pandarallel import pandarallel
pandarallel.initialize(progress_bar=True))


✨ Метод parallel_apply - "параллельный" аналог apply:

df = pd.DataFrame({
'A': range(1, 1000001),
'B': range(1000001, 2000001)})

def my_func1(row):
return row['A'] + row['B']

df['C'] = df.parallel_apply(my_func1, axis=1)


✨ Подобие map из библиотеки называется parallel_map:

def my_func2(x):
return x * 2

df['D'] = df['C'].parallel_map(my_func2)


✨ И, наконец, "пареллельная" реализация groupby осуществляется также через parallel_apply:

df = pd.DataFrame({
'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar'],
'B': ['one', 'one', 'two', 'two', 'one', 'one', 'two', 'two'],
'C': range(1, 9)
})

result = (
df.groupby(['A', 'B'])
.parallel_apply(lambda x: x.sum()
)


Попробуйте запустить примеры на больших данных и сравнить скорость🏃‍♂️
Официальный репозиторий тут 😎

#аналитика@data_easy
#classic_ml@data_easy
  • 🔥 14
  • ❤ 6
  • 🍓 3
  • 👍 2
More from @data_easy
  1. Sep 25, 2026Привет, друзья! Давайте разберём, как оценивать RAG-пайплайн. Тема довольно острая: наприм…
  2. Sep 20, 2026Привет, друзья! Adam и AdamW правят балом почти десять лет... Претенденты на замену были,…
  3. Aug 30, 2026Привет, друзья! Автор возвращается с каникул с полным мешком пирожков полезных материалов…
  4. Jul 12, 2026Привет, друзья! Представьте: у вас есть паркет на 10 гигов, и надо всего лишь посчитать по…
  5. Jun 28, 2026Привет, друзья! Устали от стандартных учебников по ML? Материалов с каждым месяцем и правд…
  6. Jun 21, 2026Привет, друзья! Сегодняшний рассказ про marimo - реактивный блокнот для Python, который мн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →