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

۵ مثال کاربردی از متدهای loc و iloc در کتابخانه Pandas

    0

    Pandas یکی از انعطاف‌پذیرترین و قدرتمندترین کتابخانه‌های مورد استفاده در حوزه تحلیل و دستکاری داده‌هاست. این کتابخانه حاوی شمار کثیری تابع و متد است که به شما در بهینه‌سازی مراحل مختلف فرایند تحلیل کمک می‌کنند. متدهای loc و iloc دو مورد از مهم‌ترین متدهای موجود در کتابخانه Pandas هستند که از آن‌ها به منظور فیلتر کردن، انتخاب نمودن و دستکاری و اصلاح داده‌ها استفاده می‌شود. این متدها ما را قادر می‌سازند تا به یک یا چندین خانه مشخص از دیتاست دسترسی پیدا کنیم.

    در این مقاله، به ۵ مثال کاربردی در خصوص دو متد  loc و iloc خواهیم پرداخت که از نقطه‌نظر من طی فرایند تحلیل داده‌ها بسیار مفید می‌باشند.

    در این مثال از دیتاست Melbourne housing استفاده خواهم کرد که بر روی وب‌سایت Kaggle قابل دسترس است. پیش از هر چیز باید با استفاده از تابع read_csv فایل csv حاوی داده‌ها را بخوانیم.

    همان‌طور که مشاهده می‌کنید این دیتاست حاوی اطلاعات ۱۳۵۸۰ خانه در شهر ملبورن است که برای هر یک از آن‌ها ۲۱ ویژگی در نظر گرفته شده است.

    مثال اول

    یکی از تفاوت‌های loc و iloc در نحوه دسترسی پیدا کردن آن‌ها به سطرها و ستون‌های دیتاست است:

    • متد loc از لیبل یا برچسب سطر و ستون برای دسترسی به آن استفاده می‌کند.
    • متد iloc از اندیس سطر و ستون برای دسترسی به آن استفاده می‌کند.

    حال بیایید از هر دو متد برای مشاهده چند سطر ابتدایی ستون Address در دیتاست استفاده کنیم و این تفاوت را در عمل ببینیم.

    شما هم احتمالاً متوجه شده‌اید که نحوه گزینش سطر در هر دو متد مشابه است. دلیل آن این است که کتابخانه Pandas  برچسب سطرها را به طور پیشفرض یک عدد صحیح درنظر می‌گیرد. بنابراین، چه از برچسب سطر استفاده کنیم و چه از اندیس آن، تفاوتی وجود نخواهد داشت. تنها تفاوت در این است که در متد loc حد بالا نیز ذکر می‌شود. شایان ذکر است که اندیس ستون‌ها نیز از صفر شروع می‌شود، بنابراین اندیس ستون Address عدد ۱ می‌باشد.

    مثال دوم

    برای دسترسی پیدا کردن به چندین سطر و ستون نیازی نیست که حتماً یک بازه تعریف کنیم، بلکه می‌توانیم اندیس یا برچسب سطرها و ستون‌های مدنظر را در قالب یک لیست به متدها بدهیم.

    در این مثال سطرهای ۵، ۷ و ۹ از ستون‌های Address و Type را فراخوانی کردیم.

    loc و iloc

    مثال سوم

    می‌توانیم با استفاده از متد loc یک ستون جدید در دیتاست ایجاد کنیم. در این مثال می‌خواهم ستونی به دیتاست اضافه کنم که در آن به خانه‌هایی که قیمت‌شان بالاتر از یک میلیون یورو است، عدد ۱ تعلق ‌گیرد. از آن‌جا که هر نقطه‌داده (یا هر سطر) نماد یک خانه است، بنابراین کافی است شرط مربوطه را روی ستون price اعمال کنیم.

    در این ستون که نام آن را IsExpensive گذاشته‌ام، سطرهایی که شرط مذکور را داشته باشند، حاوی عدد ۱ خواهند بود و مقدار NaN برای سایر سطرها درنظر گرفته خواهد شد.

    loc و iloc

    مثال چهارم

    در متد loc می‌توان چندین شرط مختلف وارد کرد. بیایید یک ستون جدید به نام category ایجاد کنیم که از نوع h است و برای خانه‌هایی که قیمت‌شان بالاتر از ۴/۱ میلیون یورو است، مقدار Expensive House را قرار می‌دهد.

    loc و iloc

    بعداً می‌توان به مقادیر NaN را رسیدگی کرد تا مشکل‌زا نشوند. برای مثال، می‌توانید با استفاده از تابع fillna از کتابخانه Pandas خانه‌های خالی یا مقادیر گمشده را مدیریت کنید. با افزودن شروط دیگر به متد loc نیز می‌توانید مقادیر گمشده را با مقدار دلخواه جایگزین نمایید.

    مثال پنجم

    علاوه بر موارد قبلی، می‌توانیم با قرار دادن یک شرط در متد loc مقادیر موجود در یک ستون را به‌روزرسانی و اصلاح کنیم. برای مثال، قطعه کد زیر ۵% تخفیف روی خانه‌هایی که قیمت‌شان بالاتر از ۴/۱ میلیون یورو است، اعمال می‌کند.

    loc و iloc

    برای انجام این کار از متد iloc نیز می‌توان استفاده کرد، اما به جای نام ستون باید اندیس ستون price را به متد بدهیم. از آن‌جا که استفاده از نام یا برچسب ستون راحت‌تر از اندیس آن است، متد loc برای حل چنین مسائلی ترجیح داده می‌شود.

    سخن آخر

    پاکسازی و دستکاری داده‌ها یکی از مهم‌ترین وظایف هر دانشمند یا تحلیل‌گر داده‌ای است، چرا که داده‌ها در واقعیت نابسامان هستند و معمولاً فرمت مناسبی ندارند. به همین دلیل نیز استفاده از یک متد منعطف برای دسترسی یافتن به سطرها و ستون‌های دیتاست، برای به انجام رساندن پروژه‌ها در این حوزه از اهمیت فراوانی برخوردار است. متدهای loc و iloc  همان چیزی هستند که در چنین شرایطی به آن‌ها نیاز داریم.

    چگونه کاربردهای هوش مصنوعی آینده را برای تصمیم گیران روشن می ‌سازد؟

    مقاله قبلی

    محصول مفید یک شرکت دانش‌بنیان ایرانی برای انتخابات: سنجش افکار عمومی با هوش مصنوعی

    مقاله بعدی

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

    نظرات

    پاسخ دهید

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