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