معرفی کتابخانه PandasGUI
چند بار از کتابخانه Pandas برای کارهاي علم داده خود استفاده کردهاید؟ تقريبا هميشه. Pandas یک کتابخانه ضروری برای دستکاری دادهها و ایجاد بینش از دیتاست در قالب جداول مختصر، مصورسازی و موارد دیگر است.
PandasGUI یک کتابخانه مبتنی بر پایتون است که دستکاری دادهها و آمار مختصر را برای اعمال بر روی دیتاست با استفاده از رابط کاربری گرافیکی آسان میکند. یعنی تمام عملیات از طریق رابط کاربری گرافیکی (GUI) انجام میشود، اما در پشت صحنه برای اجرای هر عملیات Pandas استفاده خواهد شد.
هم رویش منتشر کرده است:
آموزش پانداس PANDAS پروژه محور __ تحلیل داده با پایتون (پروژه سفر به ماه)
نصب و راه اندازی PandasGUI
PandasGUI یک بسته پایتون است و از طریق مدیر بسته pip قابل نصب است.
توجه: توصیه میشود از پایتون 3.8 و بالاتر برای نصب استفاده کنید. همچنین حتما یک محیط مجزا (virtual environment) ایجاد کرده و کتابخانه را در آن محیط نصب کنید.
ایجاد محیط مجازی (conda)
دستورات زیر را در ترمینال خود اجرا کنید.
conda create -n nameofenv python=version
conda activate nameofenv
نصب PandasGUI
pip install pandasgui
نصب کتابخانه کمی طول میکشد، ممکن است وابستگیهای بسته PandasGUI بسیار سنگین باشد.
راه اندازی PandasGUI
اول از همه، کتابخانه را بارگذاری کنید. به تابع show() کتابخانه pandasGUI که برنامه را مقداردهی اولیه میکند توجه کنید:
from pandasgui import show
این تابع به دو صورت قابل استفاده است:
- میتوانید مستقیماً تابع show را که برنامه را بدون هیچ دیتاستی باز میکند، استفاده کنید.
- دیتافریم (DataFrame) را به تابع منتقل کنید و برنامه با ردیفها و ستونهای دیتاست پر میشود. به این ترتیب، میتوانید چندین دیتاست را به طور همزمان بارگذاری کنید و تمام اشیاء دیتافریم را در متد ()show دور بزنید.
در حال حاضر، برنامه را بدون هیچ دیتاستی بارگذاری میکنیم.
show()
و سپس یک صفحه مانند زیر را خواهید دید:
ویژگی های کتابخانه PandasGUI
اکنون تمام ویژگیهای این اپلیکیشن را به صورت مرحله به مرحله بررسی میکنیم. در ادامه با ویژگی های کتابخانه PandasGUI همراه ما باشید.
بارگذاری دیتاست (Dataset)
برای بارگذاری یک دیتاست در برنامه، گزینههای مختلفی دارید:
- آبجکت dataframe را به تابع show منتقل کنید.
- به صورت دستی با استفاده از گزینه “Import” منوی Edit اضافه کنید.
- دیتافریم را با استفاده از کلیپ بورد با گزینه “Import From Clipboard” در منوی Edit وارد کنید
- از دیباگ در منوی “Browse Sample Datasets” برای بارگذاری هر ديتاست نمونه برای آزمایش استفاده کنید.
- فایل های CSV را در داخل برنامه Drag کنید.
تصویر گیف زیر را ببینید:
عملیات روی صفحه
جدای از برگهها و منوهای مختلف ارائه شده توسط برنامه pandasGUI، برخی از عملیاتها وجود دارد که میتوانید با فعال کردن عناصر رابط کاربری گرافیکی نمایش داده شده مستقیماً آنها را اعمال کنید:
1- تمام سلولهای دیتاست نمایش داده شده قابل ویرایش هستند. میتوانید روی هر کدام از سلولها کلیک کنید و ویرایشهای خود را انجام دهید. شبیه به کاری است که در اکسل انجام میدهید. هر مقدار را میتوان مستقیماً تغییر داد.
2- با کلیک راست بر روی سرصفحه Column، یک منوی ستون تعاملی شامل گزینههایی برای مرتبسازی ستون بر اساس صعودی، نزولی، انتقال ستون به انتها یا در محدوده مورد نظر، تجزیه ستون حاوی تاریخ به عنوان رشته به قالب تاریخ Pandas، و حذف گزینه ستون در اختیار شما قرار میگیرد.
3- با Drag و انتخاب هر بخشی از دیتاست، میتوانید آن بخش را کپی کرده و در هر سلولی از صفحه اکسل قرار دهید. همانطور که در خود برنامه نشان داده شده است، به طور خودکار به یک فرمت جدولی تبدیل میشود.
4- روی نام دیتافریم در پنل سمت چپ کلیک راست کنید تا گزینه حذف دیتافریم از برنامه در اختیار شما قرار گیرد.
فیلترها (Filters)
اعمال فیلترها بر روی یک دیتاست یکی از مهمترین وظایف در هر کار علم داده است. فیلتر به جداسازی بخشی از دیتاست و کار بر روی آن بخش جدا شده کمک میکند. در Pandas، معمولا از مقایسهها، مقادیر آستانه با ستونها یا دیتاستهای کامل برای فیلتر کردن دادهها استفاده میشود. در pandasGUI، میتوانید همان نوع فیلتر را با استفاده از تب Filters در سمت راست انجام دهید.
هم رویش منتشر کرده است:
آموزش NumPy --- دانشمند داده شوید!
عبارت filtering را تایپ کنید و فقط دادههایی که شرایط را برآورده میکنند نمایش داده میشوند. در زیر میتوانید نمونه را ببینید:
میتوانید چندین فیلتر را اعمال کنید و با استفاده از چکباکس سمت چپ آنها را فعال/غیرفعال کنید. مثال زیر را ببینید که در آن چندین فیلتر اعمال میشود:
توجه: تمام فیلترها با استفاده از متد pandas.dataframe.query()” ” اعمال میشوند.
برگه Statistics
آمار نقش مهمی در نمای توصیفی تمام ویژگیهای دیتاست ایفا میکند. شامل پارامترهایی مانند صدک هست که به دریافت بینش در مورد نحوه پخش دادهها کمک میکند، میانگین، که تحت تأثیر داده پرت قرار ميگیرد، همچنان میتواند به ما در مورد مرکز دادهها و انحراف استاندارد در مورد میزان تغییر دادههای داخلی ستون بگوید.
ستونی با 0 انحراف استاندارد هیچ فایدهای نخواهد داشت زیرا بدان معنی است که تمام مقادیر ستون یکسان هستند و برای پیشبینی مقدار هدف مفید نیست.
برای نتیجهگیری از چنین بینشهایی، روی برگه Statistics کلیک کنید و خلاصهای از نوع داده، تعداد، تعداد مقادیر منحصر به فرد، میانگین، انحراف استاندارد و حداقل و حداکثر داده را دریافت خواهید کرد. برای مقادیر نوع رشته، پارامترهای محاسبه شده عددی مانند میانگین، صفر خواهند بود.
برگه Grapher
نمودارها و مصورسازیها ابزار بسیار قدرتمندی در ارائه خلاصهای از دادهها با استفاده از عناصر بصری است. به عنوان مثال، نمودارهای توزیع میتوانند به تعیین اینکه آیا مقادیر ستون با منحنی توزیع نرمال/زنگشکل همسو هستند یا خیر کمک کند. اين مورد وظیفه ما را برای تعیین پارامترهای جمعیت و نتیجهگیری حقایق بر اساس نمونهها ساده میکند.
نمودارهای جعبهای به تعیین میزان پراکندگی دادهها، اینکه چه مقدار باید به عنوان مقادیر پرت در نظر گرفته شود، کمک میکنند. همچنین نشاندهنده جایی است که 50 درصد دادهها در آن قرار دارند. انواع دیگر نمودارها مانند هیستوگرام، نمودار میلهای، نمودار پراکندگی، نمودار خطی، دارای مزایای خاص خود هستند. بنابراین ترسیم دادهها مهم است.
برای ترسیم چنین مصورسازیهایی با استفاده از pandasGUI، به سادگی به برگه Grapher بروید و یک صفحه اولیه مانند زیر دریافت خواهید کرد:
میتوانید نمودارهای هیستوگرامی، نمودار پراکندگی، نمودار میلهای، نمودار جعبهای، نمودار ویولنی، پراکندگی 3بعدی، نقشه حرارتی، نمودار کانتور، نمودار دایرهای، اسپلوم، کندلاستیک، و ابرکلمه (Word Cloud) را انتخاب کنید. همه این نمودارها با استفاده از کتابخانه Plotly در پشتیبان ایجاد میشوند و بنابراین، نمودارها ماهیت تعاملی دارند.
حال برخی از دادهها را رسم میکنیم. برای انجام رسم، به سادگی هر نوع نمودار را انتخاب کنید و سپس نام ستون را از پانل سمت چپ به پارامترهای نمودار ذکر شده در مجاورت سمت راست آن بکشید. میتوانيد مثال زیر را ببینید:
میتوانید ببینید که با افزایش ” x “، “Price” به طور تصاعدی افزایش مییابد. نمودار به دلیل پشتوانه داستانی، ماهیت تعاملی دارد. پارامترهایی مانند ” x “، “y”، “Color” بر اساس نمودار نمایش داده شده تغییر میکنند. به عنوان مثال، پارامترهای “x” و “y” را برای ابرکلمه دریافت نخواهید کرد.
با بررسی برنامه فروشگاه Google Play، که حاوی اطلاعات متنی درباره بازخورد برنامه است، یک ابرکلمه را برای دیتاستهای مختلف ترسیم میکنیم.
سایر گزینههای رایج برای هر نمودار موجود است که در پایین ستون و پانل پارامترها وجود دارد. اين گزينهها شامل موارد زير است:
kwargsهای سفارشی:
از آنجایی که پلات به صورت نموداری انجام میشود، میتوانید تمام آرگومانهای پشتیبانی شده توسط plotly express را اضافه کنید. آرگومانهای فعلی ممکن است برای بهترین حالت استفاده محدود باشند، اما میتوانید آرگومانهای سفارشی خود را با استفاده از این گزینه درنظر بگيريد. به عنوان مثال، نام پیشفرض ستون “”x را میتوان با استفاده از آرگومان labels” ” به چیز دیگری تغییر داد:
Save HTML:
با استفاده از این گزینه میتوانید نمودار تولید شده را در یک فایل HTML ذخیره کنید. این فایل را میتوان به طور مستقل و بدون نیاز به هیچ گونه Backend استفاده کرد. فایل HTML نمودار را به صورت تعاملی با استفاده از جاوا اسکریپت نمایش میدهد.
Reset:
این گزینه تمام مقادیر پارامترها را پاک میکند.
Code Export:
با استفاده از این گزینه میتوانید کد رسم نمودار را Export کنید. کد فاقد کلمات کلیدی سفارشی ارائه شده است، اما کد اصلی برای شروع ترسیم نمودار مفید خواهد بود.
Preview Kwargs:
تمام آرگومانهای فعلی مورد استفاده برای رسم نمودارها را نمایش میدهد.
Finish:
هر زمان که خواستید کدهای رسم خود را دوباره اجرا کنید، میتوانید روی این گزینه کلیک کنید. این گزينه در مواردی مفید است که آرگومانهای سفارشی را اعمال کردهاید و میخواهید نمودار را با آن آرگومانهای اعمالشده بارگذاری مجدد کنید.
تب Reshaper
جداول مختصر مانند جداول Pivot نقش مهمی برای خلاصهکردن دادهها بر اساس توابع تجمع مانند میانگین، میانه، مجموع و غیره بازی میکنند. این برگه جداول Pivot، جداول melt، ادغام و الحاق جداول را ارائه میدهد. به سادگی نام ستونها را از پانل سمت چپ به پارامتر مورد نیاز بکشید و روی Finish کلیک کنید.
با انتخاب Summary، یک دیتافریم جدید دریافت خواهید کرد. یک جدول محوری يا همان Pivot برای مختصرسازی، “cut” به عنوان شاخص، “color” به عنوان ستون جدید، و مقادیر میانگین جمع شده “depth” ديتاست الماس ایجاد میکنیم:
تنظیمات را اعمال کنید
مانند هر برنامه دیگری، میتوانید تنظیمات پیشفرض pandasGUI را با استفاده از گزینه تنظیمات منوی prefrences تغییر دهید. میتوانید تم برنامه را به حالت تاریک تغییر دهید، ویژگیهای قابل ویرایش روی صفحه را غیرفعال کنید، auto_finish را روی True تنظیم کنید، حالت رندر را تغییر دهید، عملکرد تجمیع پیشفرض را از میانگین به عملکرد دیگر تغییر دهید و عنوان را قالببندی کنید.
ديتاست و کد را Export کنید
پس از انجام تمام کاوش و دستکاری دادهها، میتوانید به کد معادل Pandas برای تمام عملیات انجام شده با استفاده از گزینه Export Code منوی Edit دسترسی پیدا کنید. این کد به ترتیب عملیات با کامنت مناسب برای هر عملیات انجام شده، را در اختيار ما قرار میدهد.
در همان منوی Edit، میتوانید DataFrameهای اصلاح شده را Export کنید. میتوانید آن گزینه را انتخاب کنید یا راحتتر، میتوانید نام دیتافریم را به هر پوشهای Drag and Drop کنید و یک فایل CSV برای آن دیتافریم ایجاد میشود.
نتیجه
در این مقاله مفصل شما را با PandasGUI آشنا کرديم. PandasGUI یک ابزار بسیار قدرتمند برای انجام دستکاری و کاوش دادهها از طریق رابط کاربری گرافیکی است. ابتدا با نصب کتابخانه شروع کردیم. سپس مجموعه داده را بارگزاری کردیم. بعد از آن تمام توابع روی صفحه و هر برگه (Tab) را با جزئیات بیشتری بررسی کردیم. در نهایت برخی از توابع متفرقه را دیدیم.
کلیدواژگان
کتابخانه PandasGUI | کتابخانه PandasGUI چیست | معرفی کتابخانه PandasGUI | نصب PandasGUI | نصب و راه اندازی PandasGUI | نصب کتابخانه PandasGUI | راه اندازی PandasGUI | آموزش راه اندازی PandasGUI | ویژگی های کتابخانه PandasGUI | ویژگی کتابخانه PandasGUI | ویژگی های PandasGUI
منبع
everything-you-need-to-know-about-pandasgui
3 دیدگاه برای “کتابخانه PandasGUI — هر آنچه باید درباره PandasGUI بدانید ”
سلام
ممنونم از مطلب مفیدتون. من یک مشکلی دارم ممنون میشم اگر کمکم کنید. من بعد از تمام تغییرات بر روی فایلم و اعمال خواسته هام بر روی گرافیک، وقتی کد رو اکسپورت میکنم قادر به ران کد نیستم. یعنی وقتی برنامه رو میبندم و باز کد رو اجرا میکنم که به حالت اخرین تغییراتم برسم با خطا مواجه میشم. چگونه باید کد را به درستی اکسپورت کرد ؟
و بعد اینکه ایا امکانش هست در یک نمودار از دو فایل جداگانه اکسل استفاده گرد ؟
با سلام. همراه گرامی سپاس از وقتی که برای ارسال نظر گذاشتید. در خصوص سوالی که داشتید پیشنهاد می کنیم سوال خود را در بخش نظرات (انتهای برگه) آموزش موجود در لینک زیر مطرح بفرمایید، مدرس دوره مورد نظر راهنمایی خوبی خواهند داشت.
https://hamruyesh.com/product/pandas-tutorial-project-based-data-analysis-python-artemis-apollo/
ممنون از نویسنده محترم. مقاله مفیدیه.