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