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