از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه آموزشی، مدرس به مقایسه عملکرد خواندن فایلهای بزرگ با استفاده از Polars و Pandas میپردازد و نشان میدهد که Polars به دلیل امکاناتی مانند لیزی لودینگ و اسکن پارکت، سرعت بالاتری در خواندن دادههای حجیم دارد. همچنین، نحوه نوشتن دادهها در فرمتهای مختلف مانند JSON و Parquet با استفاده از Polars به نمایش گذاشته میشود. در پایان، به پایان جلسه اشاره شده و به جلسه بعدی اشاره میشود.
نکات کلیدی
Polars در خواندن فایلهای بزرگ نسبت به Pandas سرعت بالاتری دارد.
لیزی لودینگ و اسکن پارکت امکاناتی هستند که به بهینهسازی فرآیند خواندن دادهها کمک میکنند.
روش نوشتن دادهها در فرمتهای JSON و Parquet با استفاده از Polars به نمایش گذاشته شده است.
استفاده از Polars میتواند به بهینهسازی عملکرد پردازش دادههای حجیم کمک کند.
متن ویدیو
متن زمانبندیشده این جلسه برای مرور، جستجو و دسترسی سریعتر.
سلام عرض میکنم خدمت دوستان عزیز. بریم سراغ قسمت دوم دوره پلارس و این جلسه
قراره که یه ذره کار کردن با فایل رو داخل
پلارس یاد بگیریم و اینکه در حقیقت پلارس
چه کمکی به ما میکنه در باب پا در خوندن
فایلها. طبیعتاً چیزی که حالا جلسه قبلم
گفتیم بهتون
سرعت خوندن فایلش خیلی بهتر از پانداسه.
مخصوصاً تو فایلای بزرگ که پانداس اصلاً
قفل میکنه یه جورایی. خب بریم یه چند تا
فایلو با همدیگه بخونیم
یه ذره روش کار کنیم
خب فایلایی رو که من قبلاً بهتون داده
بودم خوندنشم دیده بودیما یعنی جلسه قبلی
اینو دیدیم با همدیگه که برای خوندن فایل
در حقیقت به چه صورته. حالا میخوایم یه
سری فایلای دیگه با فرمتهای دیگه رو
مثلاً بریم بخونیم. مثلاً میخوایم یه
فایل جیسون رو بریم بخونیم. اجازه من فایل
جسون رو بیارم توی مسیر پروژه هم اینجا
بذارم.
خب فایلا رو آوردم بذارید بریم ببینیم که
اینا رو بخونیم. یه سری فایل جیسونه
بچهها فایلاش چیز خاصی نیستا. یعنی فایلا
بذار من یکیشو باز کنم
مثلاً فرستش اینه بچهها یعنی نکته خاصی
نداره فایلاشو اصلا خودتونم میتونید درست
بکنید چالشتون نشه که حالا حتما فایل از
کجا بیارم
اینم که یه ذره یه تعدادش یه ذره بیشتره
فقط
خب بریم شروع کنیم خوندن این فایلا رو و
بعدشم حالت دیتا فریم این فایلا رو ببینیم
میایم اینجا [گلویش را صاف میکند]
اینو من باید یه بار دیگه ران کنم
پی دی نه پی ال میذارم اسمشو پی دی مال
پانداسه خب میگم که دیف مساوی
پیدا
[ __ ]
جیسون
بعد اسم فایله رو میدم اسم فایله چیه
مثلاً میدیم سک. جیسون
یا هر فایل جیسونی که از اینترنت میتونید دانلود کنید بچهها اینو
میتونید راحت باهاشون کار بکنید
حالا بریم
ببینیم چی بهمون میده به این صورت بچهها
یعنی تبدیلش میکنه به یک دیتا فریم که
میتونید باهاش کار بکنید و همه کارا رو
میتونید انجام بدید روش
بذارید من یه فایل سنگینتر از اینترنت برم میتونم دانلود کنم یه فایل پارک پارکت
ازمپل
پارکت
فایل
یه فایل بزرگ میخوام
۸۰۰ تا ردیف آ این خوبه ی میلیون ردیف چقدر حجمش چقده
خب خب این فایل فایلها رو دانلود کردم ی
میلیون رو داره خب و گذاشتمش اینجا اینه
فلایز میلین بذار اسمشم یه تغییری بدیم یه
ذره راحتتر بشه خوندش مثلاً بذاریم پار
خب بریم این فایله رو بخونیم یه ملون ردیف
داره ببینیم که در حقیقت چهجوری میشه خب
اسمشو میذارم پار مساوی
د
پار.پارکت پارکت
به همین سرعت بچهها یک میلیون ردیفو خوند به همین سرعت
خب و بدون مشکل حالا من هد زدم ۵ تا ردیفشفشو
نشون داد که یک ملی ردیف داره
این سرعتش واقعاً خوبه عجیب عجیب غریب
سرعتش خوبه
و اصلاً مشکلی با خوندن یک میلیون فایل هم
حتی نداره.
حالا میخوام یه کار دیگه بکنم.
ما توی چیز
بذارید [گلویش را صاف میکند] من یه چند
تا از این فارکتها رو باز کنم. چند تا
دیگهشم دانلود کنم. مثلاً اینم دانلود
کنم. [صدای خرناس]
اسمشو میذارم پاره
د
ش خب بیایم اینجا
من میخوام تمام این فایلا رو بخونم
در قالب یه فایل اینو ببینم بچهها یه چیزی داره پلارز به نام لیزی لودینگ خیلی
باحاله خب خب
بیایم تو جمنا بذار ببینیم اصلا لیز لودینگ چیه
[صدای خرناس] یه ذره یه توضیح بیشتری بهمون بده من واسه
نوشتن ندارم میرم سراغ جونا
خب میگه تو پلارس لیزی لودینگ یه تکنیکیه
که میگه که اجرا شدن کد تا آخرین لحظه چی
میشه؟ دیفرد میشه کلمه دیفر یعنی چی؟
دیپل یعنی به تعویق افتادن یعنی میاد اجرای اون کد رو تا لحظه آخر نگه میداره
یعنی میگه که من به جای اینکه بیام هر خط
کد رو بلافاصله ران بکنم خب اینو تو لحظه
آخر نگه میداره بهش میگن لیزی لودینگ
حالا
یه دستوری داریم بچهها دیگه توضیحاتشو
بگذریم
به نام اسکن پارک مارکت
ببینیم این چیه رفته توضیحات بیشترم داده بود کاری نداریم
اسکن پارکت بچهها ما با میایم چیکار میکنیم با اسکن پارکت میایم یه مجموعه
فایل رو میتونیم باهاش بخونیم فایلای
پارکت رو خب به جای اینکه بیایم مثلاً
دونه دونه بخونیم و اینا میایم همه رو یه
جا میخونیم
و البته با سرعت بالاتر حالا بذار
توضیحاتش بیاد
خب میگه که یه فانکشن استفاده میشه برای
خوندن فایلهای پارکت با استفاده از لیزی
ایپیآی خب
میگه که با [ __ ] پارکت فرق میکنه به خاطر اینکه نمیاد فوراً دیتا رو لود بکنه تو
مموری به جاش میگه میاد تمام اون در حقیقت
متادیتا رو اسکن میکنه یه لیز فریم
برمیگردونه یه بلوپرینت برمیگردونه خب
چه کمکی میکنه میگه به پارک به پولارس این
اجازه رو میده که قبل از اینکه بخواد دیتا
رو لود بکنه تو دیس یه اپتیمایزیشنی روش
انجام بده
این کاربردش اینه حالا میخوایم بیم از این استفاده کنیم دیگه حالا جزئی زیاد
نشیم بیایم اینجا میگم که یه دیف تعریف
میکنم دیف لیزی مساویه پولارز
اسکن پارکت ببخشید
اسکن پارکت
اینجا بچهها باید مسرو بهش بدید خب من
میام یه کار میکنم.
میام کل این فایلا رو میندازم داخل یه
فولدری توی اینجا یه فولدر اینجا درست
کنم.
بذار اصلاً از توی خود اکسپلور برم این
کارو بکنم بهتره.
خب یه دونه اینجا درست میکنم تمام این فایلا رو.
انتقال میکنم اینجا اسمشم میذارم
پار
خب حالا بیایم اینجا میگم که
برو داخل پوشه پار
هرچی هستو اسکن هرچی هست دات حتی بچهها اینجا میتونید سلکت بکنید کدوما رو اسکن
بکنه
پار یک و پار د الی آخر درسته؟ میتونم اینجا بیام بگم که مثلاً پار یکو
حتماً داشته باش دیگه چی؟
خود پارم داشته باش پارون ی میلیونی هست
پار ی
و پار د این سه تا فایلو برا من اسکن کن
به همین صورت بچهها انجام دادم دیف لیزی
مساوی
ف لیزی
ککت
ساجست نکرد مساوی تو
[صدای خرناس]
یه خطایی داد چی میگه
آ میگه بقیه رم چیز کرده [صدای خرناس]
آها عذر میخوام عذر میخوام عذر میخوام اینجا تو سلکت اسم فایل نیست بذارید اینو
من بردارم
میگه که باید اینو بذارید داخل این
بذارید من اینجا فایلا رو داشتم اینجا
میخوندم دیگه این فایله بود دیگه درسته
خب بذار من بگم که
سلکت
من اشتباه فکر کردم اینجا اسم فایلا رو باید داد ولی نه اینجا مثلاً باید اسم
ستونا
این اشتباه من بود
خب
شاید فایلا یکی نیست این بدبخت نمیتونه این کارو بکنم
بذارید من یه کار بکنم این پا رو کپی کنم همین جا
اینا رو بذارید بردارم شاید یکی نیست فایلاش اصلاً
میکنیم پاره د
این درست شد فایلاش فکر کنم یکی نبود یه چیزی هم میگه میگه که استریمینگ پارامتر
دیپلیکیت شده به جاش از انجین استفاده
بکنید خب بریم اینو با هم ببینیم تو
داکومنتش من خیلی وقت بود مثل اینکه
نیومدم سراغ این
میدیم به چهجبتی بذار رو فصلش بذارم که سریع
سراغ داکومنتش نیم. خب میگه که چلا فلان
میگه که شما دارید یه لارجتا ستو میخواید استفاده بکنید این
به جاش باید چیکار بکنین؟ جاش اون جدیده
رو بگو
تو نات یوز آ میگه از این باید استفاده
کنید چشم
این از این استفاده
این خطا الان دیگه نده
اینم از این حالا بریم دیف لیزی رو باهم ببینیم
۳ میلیون روئه بچهها سه تا بود دیگه و به سرعتم این کارو میکنه یعنی اصلاً لفتش
نمیده که مثلاً یه ذره طول بکشه و اینا
عالیه
خب
همون سه تا ستونی هم بود که من اینجا مشخص
کردم من اشتباه فکر میکردم اینجا اسم
فایلا رو میدیم بعد نه اسم ستونا بود من
اشتباه من بود
پس بچهها سرعت خوندنشو دارید مقایسه
میکنید با پانداز واقعاً عالیه این اصلاً
عجیب غریب سرعتش خوبه
بریم ببینیم دیگه چی داره توی داکیومنتش
آها بریم یه چیزی هم با هم چک کنیم بچهها
[صدای سرفه]
یه دیف میذارم پیار
سپی
یه فایل دیتا داشتیم یادتونه
میخوام یه چیزی رو با هم ببینیم ببینیم واقعاً تأثیر دارید. من یه تایم اینجا
میذارم
بیا این فایله رو بخون. ۱۹۹ میلیانیه طول
کشید این فایله رو بخونه. ۹۰۰ تا ردیفه
بیایم همینو با پانداس ببینیم.
فقط بذار ببین من اول پانداسم یه لودی بکنم
اینپورت پانداز از پی
این دفعه
اینم میکنم پی دی [ __ ] سی اسی هم داره
ببینیم چقدر طول میکشه جالبه این تایم
کمتری طول میشه ۶۲ میلیثانیه طول کشید این
۱۹۹ میلیه احتمالاً تو فایلای کوچیک این
خیلی خودشو نشون نمیده بذارید ببینم میشه
که یه پارکتو با پانداس خوند من پارکتو تو
پانداس نخوندم
توی پارکت تایمشو مقایسه بکنید میگه باید یه چیزی نصب بکنی
توپان لابر اندل پارک فورمت اما تو خوندنش کاری نداره نه
این از کجا داره میاد نه [ __ ] پارکتو تو چیزم داریم پانداسم
داریم اصلاً نیاز نیست اینا رو چیز کنیم
آ نه میگه باید اینا رو نصب بکنیم خب بذار من اینا رو نصب کنم یکیش نداره بیا
میخوام بریم تو یه پارکت بخونیم ببینیم
فرقی داره توی اصل داستان یا نه اینو نصب
بکنم [صدای خرناس]
[ __ ] پارکتم گوش ریدیسون [ __ ] پارکت
خب بیایم اینجا بریم محایسه بکنیم ببینیم
اینجا چقدر فرق میکنه
چار بعد این بیرون رفته من یه دونه پا رو
بیارم بیرون که دیگه خطا هم نده خب
۳۸ میلی ثانیه طول کشید این ی میلیون ردیفو بخونه حالا بریم سراغ پانداس
۴۴۰ میلی ثانیه اختلافو بچهها اینجا دارید میبینید یعنی تو فایلای بزرگ
پلارس داره قشنگ قابلیت خودشو نشون میده
۳۸ میلی ثانیه کجا ۴۴۰ میلی ثانیه کجا تو
ی میلیون رو و اینجاست که در حقیقت اختلاف
رو شما میتونید ببینید
خب ببینم دیگه چی میتونیم بهتون نشون بدیم
در رابطه با فایل
خب بریم یکهم با هم ببینیم یه دیف جدید میکنم پی.
وید
جیسون فایل چهارم میگم بخونه
اسمش چی بود
این نگاه
بذارید اینو ولش کن بذار یه چیزی دیگه بگم اینو اصلا مهم نیست
نوشتن فایلم تو در حقیقت پولار با هم
ببینیم چهجوریه من یه چیز تعریف بکنم دیتا
تعریف بکنم
اینکه چهجوری فایل بنویسیم به جای خوندنشو دیدیم نوشتنشم با هم ببینیم یه نیم
دو نقطه مثلاً
سپیده
مهدی
علی
ساره
سنشون چقده ۲۵ ۱۸ بیست و
مثلاً ۷
۳۶ ۴ نفر بودن آره خب و مثلاً اسکورشون
۸۵ ۹۰ میخوا یه نرمم بذاریم و ۸۸
خب
میخوام اینو برم رایتش بکنم خب مثلاً فرض
کنید اول تبلش میخوام یه دیتا فریم
پیدا فریم
دیتا
تیف خب این دیتا فریمونه درسته حالا
میخوام اینو رایتش بکنیم اگه بخوایم سی اس
دی رایت کنیم خیلی ساده میگم که
رات سی اس وی
اسم براش میذارم مثلاً میذارموت.
سی اس بی
خیلی سریع بچهها این کارو میکنه. نگ
کنید این آشکشه آتپوت سی اسی
اینو بازش بکنم همون فایلست
اگه بخوام جیسون تبدیلش کنم باز کاری
نداره یعنی فقط کافیه همینو بنویسید
اینا اومدش خب حتی در قال فا پارکتم شما میتونید این
کارو بکنید بچهها یعنی فقط کافیه که اینو
بیارید اینجا بکنید پارکت
در حال فایل پارکت اینجا ذخیره میکنیم. پس اینم میشه نحوه رایت کردن فایل. ما تو
این جلسهم طولانی شد
کار کردن با فایلو دیدیم. بریم بیایم جلسه
بعدی بریم سراغ مبحث بعدی. فعلاً خداحافظ.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
Polars به دلیل امکاناتی مانند لیزی لودینگ و اسکن پارکت، در خواندن فایلهای بزرگ سرعت بالاتری دارد.
با Polars میتوان دادهها را در فرمتهایی مانند JSON و Parquet نوشت.
لیزی لودینگ به بهینهسازی فرآیند خواندن دادهها کمک میکند.
آخرین بهروزرسانی محتوای متنی:
آیا با کندی سرعت Pandas در پردازش فایلهای سنگین مشکل دارید؟ در این دوره جامع، به سراغ کتابخانه قدرتمند Polars میرویم؛ ابزاری که بازی تحلیل داده در پایتون را تغییر داده است! 🔥 در این دوره آموزشی، ما از مفاهیم اولیه شروع میکنیم و تا مباحث پیشرفته مثل استفاده از GPU، کار با دیتابیس و پردازش بیش از یک میلیارد رکورد داده پیش میرویم. اگر دیتا ساینتیست، تحلیلگر داده یا برنامهنویس پایتون هستید، یادگیری Polars برای شما ضروری است. آنچه در این دوره یاد خواهید گرفت: آشنایی کامل با DataFrames و توابع Polars مقایسه عملی سرعت Polars و Pandas (تست ۱ میلیارد رکورد) نحوه استفاده از GPU برای افزایش سرعت پردازش اتصال به دیتابیس و مصورسازی دادهها (Visualization) انجام ۲ پروژه کامل و کاربردی 📌 سرفصلها : کار با دیتا فریمها خواندن و کار با فایلها انتخاب و تغییر ستونها توابع تجمیعی فیلتر کردن دادهها گروهبندی و مرتبسازی مدیریت دادههای گمشده ادغام و اتصال دادهها اتصال به پایگاه داده مصورسازی دادهها توابع پنجرهای استفاده از GPU در Polars تست پردازش ۱+ میلیارد رکورد! مقایسه Pandas و Polars در دادههای حجیم Polars و یادگیری ماشین پروژه اول پروژه دوم 🔔 فراموش نکنید که کانال را سابسکرایب کنید و نظرات خودتون رو درباره سرعت Polars برامون بنویسید! #python #polars #datascience #pandas #bigdata #پایتون #تحلیل_داده #دیتا_ساینس #برنامه_نویسی