PyPolars کے ساتھ پانڈوں کو 3 گنا تیز تر بنائیں

ماخذ نوڈ: 1854103

PyPolars کے ساتھ پانڈوں کو 3 گنا تیز تر بنائیں

PyPolars لائبریری کا استعمال کرتے ہوئے اپنے پانڈوں کے ورک فلو کو تیز کرنے کا طریقہ سیکھیں۔


By ستیم کمار، مشین لرننگ کے شوقین اور پروگرامر



کی طرف سے تصویر ٹم گاؤ on Unsplash سے

 

پانڈا ڈیٹا سائنسدانوں کے ڈیٹا کے ساتھ کھیلنے کے لیے پائیتھون کے سب سے اہم پیکجوں میں سے ایک ہے۔ پانڈاس لائبریری کا استعمال زیادہ تر ڈیٹا ایکسپلوریشن اور ویژولائزیشن کے لیے کیا جاتا ہے کیونکہ یہ بہت سارے ان بلٹ فنکشنز کے ساتھ آتی ہے۔ پانڈا بڑے سائز کے ڈیٹاسیٹس کو ہینڈل کرنے میں ناکام رہتے ہیں کیونکہ یہ اپنے عمل کو سی پی یو کے تمام کوروں میں پیمانہ یا تقسیم نہیں کرتا ہے۔

کمپیوٹیشن کو تیز کرنے کے لیے، کوئی بھی سی پی یو کے تمام کور استعمال کر سکتا ہے اور ورک فلو کو تیز کر سکتا ہے۔ یہاں مختلف اوپن سورس لائبریریاں ہیں جن میں Dask، Vaex، Modin، Pandarallel، PyPolars، وغیرہ شامل ہیں جو CPU کے متعدد کوروں میں کمپیوٹیشن کو متوازی بناتے ہیں۔ اس مضمون میں، ہم PyPolars لائبریری کے نفاذ اور استعمال پر بات کریں گے اور اس کی کارکردگی کا پانڈاس لائبریری سے موازنہ کریں گے۔

PyPolars کیا ہے؟

 
PyPolars ایک اوپن سورس Python ڈیٹا فریم لائبریری ہے جو پانڈوں کی طرح ہے۔ PyPolars CPU کے تمام دستیاب کوروں کو استعمال کرتا ہے اور اس وجہ سے پانڈا سے زیادہ تیزی سے کمپیوٹیشن انجام دیتا ہے۔ PyPolars کے پاس پانڈوں کی طرح ایک API ہے۔ یہ Python wrappers کے ساتھ زنگ میں لکھا ہوا ہے۔


مثالی طور پر، PyPolars کا استعمال اس وقت کیا جاتا ہے جب ڈیٹا پانڈوں کے لیے بہت بڑا اور Spark کے لیے بہت چھوٹا ہو۔


PyPolars کیسے کام کرتا ہے؟

 
PyPolars لائبریری میں دو APIs ہیں، ایک Eager API اور دوسرا Lazy API ہے۔ Aager API پانڈوں سے بہت ملتا جلتا ہے، اور پانڈوں کی طرح ہی پھانسی مکمل ہونے کے بعد نتائج برآمد ہوتے ہیں۔ Lazy API اسپارک سے بہت ملتا جلتا ہے، جہاں استفسار پر ایک نقشہ یا منصوبہ بنایا جاتا ہے۔ پھر پھانسی کو سی پی یو کے تمام کوروں میں متوازی طور پر عمل میں لایا جاتا ہے۔



(تصویر بذریعہ مصنف)، PyPolars API کا

 

PyPolars بنیادی طور پر پولرز لائبریری کے لیے ازگر کا پابند ہے۔ PyPolars لائبریری کا سب سے اچھا حصہ اس کی API کی پانڈوں سے مماثلت ہے، جو ڈویلپرز کے لیے آسان بناتی ہے۔

: تنصیب

 
مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے PyPl سے PyPolars انسٹال کیا جا سکتا ہے:

pip install py-polars


اور استعمال کرکے لائبریری درآمد کریں۔

import pypolars as pl


بینچ مارک وقت کی پابندیاں:


مظاہروں کے لیے، میں نے ایک بڑے سائز کا ڈیٹاسیٹ (~6.4Gb) استعمال کیا ہے جس کی 25 ملین مثالیں ہیں۔




(تصویر بذریعہ مصنف)، پانڈا اور Py-Polars کے بنیادی آپریشنز کے لیے بینچ مارک ٹائم نمبر

 

Pandas اور PyPolars لائبریری کا استعمال کرتے ہوئے کچھ بنیادی آپریشنز کے لیے مندرجہ بالا بینچ مارک ٹائم نمبرز کے لیے، ہم دیکھ سکتے ہیں کہ PyPolars پانڈوں سے تقریباً 2x سے 3x تیز ہے۔

اب ہم جانتے ہیں کہ PyPolars میں پانڈوں کی طرح ایک API ہے، لیکن پھر بھی، یہ پانڈوں کے تمام افعال کا احاطہ نہیں کرتا ہے۔ مثال کے طور پر، ہمارے پاس نہیں ہے۔ .describe() PyPolars میں فنکشن، اس کے بجائے، ہم استعمال کر سکتے ہیں۔ df_pypolars.to_pandas().describe()

: استعمال

 

(مصنف کی طرف سے کوڈ)

نتیجہ:

 
اس مضمون میں، ہم نے PyPolars لائبریری کے ایک چھوٹے سے تعارف کا احاطہ کیا ہے، جس میں اس کا نفاذ، استعمال، اور کچھ بنیادی کاموں کے لیے اس کے بینچ مارک ٹائم نمبرز کا Pandas کے ساتھ موازنہ کرنا شامل ہے۔ نوٹ کریں کہ PyPolars پانڈوں سے بہت ملتا جلتا کام کرتا ہے، اور PyPolars ایک میموری کی موثر لائبریری ہے کیونکہ اس کی حمایت یافتہ میموری ناقابل تغیر ہے۔

ایک کے ذریعے جا سکتا ہے دستاویزات لائبریری کی تفصیلی تفہیم حاصل کرنے کے لیے۔ کئی دیگر اوپن سورس لائبریریاں ہیں جو پانڈوں کی کارروائیوں کو متوازی بنا سکتی ہیں اور عمل کو تیز کر سکتی ہیں۔ پڑھو ذیل میں بیان کردہ مضمون ایسی 4 لائبریریوں کو جاننے کے لیے:

4 لائبریریاں جو موجودہ پانڈوں کے ماحولیاتی نظام کو متوازی کرسکتی ہیں۔
ان فریم ورکس کا استعمال کرتے ہوئے متوازی پروسیسنگ کے ذریعے ازگر کے کام کا بوجھ تقسیم کریں۔

 
حوالہ جات:

[1] پولرز دستاویزی اور GitHub ذخیرہ: https://github.com/ritchie46/polars

 
پڑھنے کے لیے آپ کا شکریہ

 
بیو: ستیم کمار مشین لرننگ کا شوقین اور پروگرامر ہے۔ ستیم لکھتے ہیں ڈیٹا سائنس کے بارے میں، اور AI میں ٹاپ رائٹر ہے۔ وہ ایک ایسی تنظیم کے ساتھ ایک چیلنجنگ کیریئر کی تلاش میں ہے جو اپنی تکنیکی مہارتوں اور صلاحیتوں سے فائدہ اٹھانے کا موقع فراہم کرے۔

حقیقی. اجازت کے ساتھ دوبارہ پوسٹ کیا۔

متعلقہ:

ماخذ: https://www.kdnuggets.com/2021/05/pandas-faster-pypolars.html

ٹائم اسٹیمپ:

سے زیادہ KDnuggets