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