دیتافریم های Pandas
آموزش‌های پایه‌ای هوش مصنوعیآموزش‌های پیشرفته هوش مصنوعیپایتون و ابزارهای یادگیری عمیقداده کاوی و بیگ دیتا

با ۷ روش فیلتر کردن دیتافریم های Pandas آشنا شویم

0

Pandas یک کتابخانه پایتون همه منظوره و قدرتمند است و عمدتاٌ در تحلیل داده‌ کاربرد دارد و فرایند تحلیل و کشف داده‌ها را تسریع می‌بخشد. یکی از مزایای Pandas در این است که برای انجام یک مسئله چندین روش مختلف ارائه می‌دهد. در طول فرایند تحلیل داده همیشه مجبور می‌شویم بسته به موقعیت یا با انتخاب زیرمجموعه‌ای از دیتافریم عملیات فیلتر کردن را انجام دهیم. در این نوشتار، به معرفی ۷ روش فیلتر کردن دیتافریم های Pandas می‌پردازیم.

من برای انجام این پروژه از دیتاست مسکن کالیفرنیا California housing dataset استفاده می‌کنم که در پوشه نمونه‌داده در  google colab قرار داده شده است.

دیتافریم های Pandas

متداول‌ترین روش برای فیلتر کردن یک دیتافریم این است که حالت مورد نظر، برای مثال انتخاب ستون، را در کروشه قید کنیم.

دیتافریم های Pandas

با اِعمال این روش فقط ستون‌هایی که جمعیت در آن‌ها بیش از ۱۰۰۰ است به ما نشان داده می‌شود.
با اجرای تابع nlargest می‌توانیم سطرهایی را که مقدارشان در یک ستون خاص بیشتر است فیلتر کنیم.

دیتافریم های Pandas

در نتیجه اجرای این متد سطرهایی که در ستون جمعیت ۵ مقدار بزرگ‌تر را به خود اختصاص داده‌اند، حذف می‌شوند.
به همین ترتیب می‌توانیم سطرهایی با کوچک‌ترین مقادیر را انتخاب کنیم.

دیتافریم های Pandas

روش دیگر برای انتخاب بزرگ‌ترین یا کوچک‌ترین مقدار یک ستون این است که سطرها را مرتب (sort) کنیم و بخشی از آن را انتخاب کنیم.

دیتافریم های Pandas

در نتیجه استفاده از این متد، دیتافریم به صورت نزولی و با توجه به ستون median_income مرتب شد و ۵ سطر اول انتخاب شدند.

تابع query یکی دیگر از متدهای فیلتر کردن است که انعطاف‌پذیری بالایی دارد. query این امکان را برای شما فراهم می‌کند تا یک حالت را در قالب یک رشته (string) تعیین کنید.

دیتافریم های Pandas

گاهی اوقات ممکن است بخواهیم به صورت تصادفی یک نمونه از دیتافریم های Pandas انتخاب کنیم. این عمل بیشتر به انتخاب کردن شباهت دارد تا فیلتر کردن اما ارزش آن را دارد که معرفی‌اش کنیم.. تابع sample یک نمونه تصادفی با اندازه مشخص را باز می‌گرداند.

دیتافریم های Pandas

این نمونه شامل ۵ سطر است. علاوه  بر این می‌توانیم یک شی کسری (fraction) هم مشخص کنیم. برای مثال، کد زیر نمونه‌ای با اندازه ۱% از دیتافریم اصلی به ما باز می‌گرداند.

علاوه بر مواردی که گفته شد می‌توانیم طیف مشخصی از اندیس‌ها را انتخاب کنیم. این متد نیز همانند تابع sample بیشتر شبیه انتخاب کردن است تا فیلتر کردن بر مبنای یک حالت. اما در مواردی که با داده‌های ترتیبی (برای مثال داده‌های سری زمانی) سر و کار داریم می‌توان آن را روشی برای فیلتر کردن در نظر بگیریم.

این متد iloc نامیده می‌شود و سطرها و ستون‌هایی را که در طیف مشخصی از شاخص قرار دارند به ما باز می‌گرداند.

دیتافریم های Pandas

سطرهایی با اندیس‌هایی در بازه (۵۰:۵۵) بازگردانده شده‌اند. در ضمن می‌توانیم فقط برخی از ستون‌ها را انتخاب کنیم.

دیتافریم های Pandas

اگر توجه کردید باشید می‌بینید که اندیس سطرهایی که بازگردانده شده‌اند، تغییر نکرده است. اندیس این سطرها مشابه دیتافریم اصلی است. اگر می‌خواهید پس از فیلتر کردن یک دیتافریم جدید ایجاد کنید، ممکن است لازم باشد اندیس‌ها را reset کنید. برای انجام این کار می‌توانید از تابع reset_index کمک بگیرید.

دیتافریم های Pandas

دیتافریم های Pandas

در این نوشتار متدهای مختلف فیلتر کردن یک دیتافریم و یا انتخاب بخشی از آن را با یکدیگر بررسی کردیم. هرچند با بسیاری از آن‌ها می‌توانید یک عملیات مشخص را انجام دهید، اما ممکن است به خاطر نحو (Syntax) یا به دلایل دیگر یکی را بر دیگری ترجیح دهید.

اینکه بتوانیم یک عملیات را به چندین روش مختلف انجام دهیم برای همه مطلوب و خوشایند است و کتابخانه Pandas هم چنین قابلیتی دارد.

محدودیت ‌های یادگیری ماشین

مقاله قبلی

شرکت بهسان اندیش سپهر ؛ ارائه‌دهنده خدمات و محصولات در حوزه بینایی ماشین

مقاله بعدی

شما همچنین ممکن است دوست داشته باشید

نظرات

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *