با PyPolars پانداها را 3 برابر سریعتر کنید
نحوه افزایش سرعت گردش کار پانداها با استفاده از کتابخانه PyPolars را بیاموزید.
By ساتیام کومار, علاقه مندان به یادگیری ماشین و برنامه نویس
عکس تیم گوا on می Unsplash
پانداها یکی از مهم ترین بسته های پایتون در میان دانشمندان داده برای بازی با داده ها هستند. کتابخانه Pandas بیشتر برای کاوش و تجسم داده ها استفاده می شود زیرا دارای تعداد زیادی عملکرد داخلی است. پانداها نمیتوانند مجموعههای داده با اندازه بزرگ را مدیریت کنند، زیرا فرآیند خود را در تمام هستههای CPU توزیع نمیکند.
برای سرعت بخشیدن به محاسبات، می توان از تمام هسته های CPU استفاده کرد و روند کار را سرعت بخشید. کتابخانه های متن باز مختلفی از جمله Dask، Vaex، Modin، Pandarallel، PyPolars و غیره وجود دارند که محاسبات را در چندین هسته CPU موازی می کنند. در این مقاله به پیاده سازی و استفاده از کتابخانه PyPolars و مقایسه عملکرد آن با کتابخانه Pandas می پردازیم.
PyPolars چیست؟
PyPolars یک کتابخانه چارچوب داده پایتون منبع باز شبیه به پانداها است. PyPolars از تمام هسته های موجود CPU استفاده می کند و از این رو محاسبات را سریعتر از پانداها انجام می دهد. PyPolars یک API شبیه به پانداها دارد. به رنگ زنگ زده با لفاف های پایتون نوشته شده است.
در حالت ایدهآل، PyPolars زمانی استفاده میشود که دادهها برای پانداها خیلی بزرگ و برای Spark خیلی کوچک باشد
PyPolars چگونه کار می کند؟
کتابخانه PyPolars دارای دو API است، یکی Eager API و دیگری Lazy API. Eager API بسیار شبیه به پانداها است و نتایج درست پس از اتمام اجرا مشابه پانداها تولید می شوند. Lazy API بسیار شبیه به Spark است، جایی که نقشه یا طرحی پس از اجرای یک کوئری شکل می گیرد. سپس اجرا به طور موازی در تمام هسته های CPU اجرا می شود.
(تصویر توسط نویسنده)، PyPolars API
PyPolars اساساً به عنوان پایتون متصل به کتابخانه Polars است. بهترین بخش کتابخانه PyPolars شباهت API آن به پانداها است که کار را برای توسعه دهندگان آسان می کند.
نصب و راه اندازی:
PyPolars را می توان از PyPl با استفاده از دستور زیر نصب کرد:
pip install py-polars
و کتابخانه را با استفاده از آن وارد کنید
import pypolars as pl
محدودیت های زمانی معیار:
برای نمایش، من از یک مجموعه داده با اندازه بزرگ (~6.4Gb) با 25 میلیون نمونه استفاده کرده ام.
(تصویر توسط نویسنده)، شماره زمان معیار برای عملیات های اساسی پانداها و Py-Polars
برای اعداد زمانی معیار بالا برای برخی از عملیات های اساسی با استفاده از کتابخانه Pandas و PyPolars، می توانیم مشاهده کنیم که PyPolars تقریبا 2x تا 3 برابر سریعتر از Pandas است.
اکنون می دانیم که PyPolars یک API بسیار شبیه به پانداها دارد، اما با این حال، تمام عملکردهای پانداها را پوشش نمی دهد. مثلا نداریم .describe()
تابع در PyPolars، به جای آن، می توانیم استفاده کنیم df_pypolars.to_pandas().describe()
طریقه استفاده:
(کد توسط نویسنده)
نتیجه:
در این مقاله، مقدمه کوچکی از کتابخانه PyPolars شامل پیادهسازی، استفاده و مقایسه اعداد زمانی معیار آن با پانداها برای برخی از عملیاتهای اساسی را پوشش دادهایم. توجه داشته باشید که PyPolars بسیار شبیه به پانداها کار می کند و PyPolars یک کتابخانه حافظه کارآمد است زیرا حافظه پشتیبانی شده توسط آن تغییرناپذیر است.
می توان از طریق آن عبور کرد مستندات برای درک دقیق کتابخانه کتابخانه های متن باز دیگری نیز وجود دارند که می توانند عملیات پانداها را موازی کرده و روند را تسریع کنند. را بخوانید مقاله ذکر شده در زیر 4 کتابخانه از این قبیل را بشناسید:
4 کتابخانه که می توانند اکوسیستم پانداهای موجود را موازی کنند
با استفاده از این فریم ورک ها، بار کاری پایتون را با پردازش موازی توزیع کنید
منابع:
[1] اسناد Polars و مخزن GitHub: https://github.com/ritchie46/polars
با تشکر از شما برای خواندن
بیوگرافی: ساتیام کومار یک علاقهمند به یادگیری ماشین و برنامهنویس است. ساتیام می نویسد: در مورد علم داده، و نویسنده برتر در هوش مصنوعی است. او به دنبال شغلی چالش برانگیز با سازمانی است که فرصتی برای سرمایه گذاری بر روی مهارت ها و توانایی های فنی او فراهم می کند.
اصلی. مجدداً با اجازه دوباره ارسال شد.
مرتبط:
داستانهای برتر 30 روز گذشته
منبع: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html
- "
- &
- AI
- الگوریتم
- معرفی
- در میان
- API
- رابط های برنامه کاربردی
- دور و بر
- مقاله
- خودکار
- محک
- بهترین
- کتاب
- کاریابی
- مشاغل
- رمز
- داده ها
- علم اطلاعات
- دانشمند داده
- تجسم داده ها
- مقدار
- توسعه دهندگان
- مهندس
- و غیره
- اعدام
- GitHub
- راهنمایی
- چگونه
- چگونه
- HTTPS
- تصویر
- از جمله
- IT
- بزرگ
- یاد گرفتن
- یادگیری
- کتابخانه
- لینک
- فراگیری ماشین
- نقشه
- متوسط
- مایکروسافت
- تحقیقات مایکروسافت
- میلیون
- مدل
- تعداد
- عملیات
- فرصت
- دیگر
- کارایی
- ساخته
- پــایتــون
- مطالعه
- تحقیق
- نتایج
- زنگ
- مقیاس
- علم
- اندازه
- مهارت ها
- کوچک
- سرعت
- SQL
- شروع
- داستان
- فنی
- زمان
- لحن
- بالا
- تجسم
- گردش کار
- با این نسخهها کار
- نویسنده
- X