آموزش کتابخانه pandas
این پست به آموزش کتابخانه pandas در پایتون اختصاص دارد. اگر با دادههای جدولی کار میکنید و به دنبال یک ابزار قدرتمند برای تحلیل و پردازش آنها هستید، پانداس یکی از بهترین گزینههاست. این کتابخانه به شما امکان میدهد دادهها را به صورت حرفهای پردازش کنید؛ بدون اینکه دچار پیچیدگیهای غیرضروری شوید. در این پست، از مفاهیم پایه تا مباحث پیشرفته پانداس را بررسی خواهیم کرد. با هوسم همراه باشید.
مقدمه
کتابخانه pandas یکی از مهمترین کتابخانههای حوزه دادهکاوی، علم داده و هوش مصنوعی است. این کتابخانه ابزارهای قدرتمندی برای کار با دادهها دارد. در این بخش، به معرفی کتابخانه پانداس میپردازیم و فرآیند نصب و ایمپورت (import) این کتابخانه را توضیح میدهیم. در ادامه به معرفی کاملتر و ویژگیهای کاربردیتر پانداس خواهیم پرداخت.
پانداس چیست؟
پانداس یک کتابخانه متنباز و قدرتمند در زبان برنامهنویسی پایتون است که برای تحلیل و مدیریت دادههای ساختاریافته (Structured Data) استفاده میشود.
به این تعریف مهم از پانداس دقت کنید:
Pandas is a Python library for data manipulation and analysis, providing powerful data structures and functions for working with structured data.
پانداس یک کتابخانه پایتون برای دستکاری و تحلیل دادهها است که ساختارهای دادهای قدرتمند و توابعی را برای کار با دادههای ساختاریافته ارائه میدهد.
خوب است که درباره هر یک از بخشهای مهم این تعریف بیشتر توضیح دهیم.
دستکاری و تحلیل دادهها با پانداس
اولین نکتهای که باید به آن توجه داشته باشیم این است که پانداس با دادهها کار میکند. در حوزه علم داده (Data Science) و هوش مصنوعی (AI)، دو مولفه کلیدی وجود دارد:
- داده (Data)
- مدل (Model)
در این آموزش، ما با مدل کاری نداریم، اما نیاز است که درباره دادهها اطلاعات بیشتری کسب کنیم. نکته مهم این است که برای آنکه یک مدل بتواند به درستی آموزش ببیند، داده خام باید به یک داده پردازششده و مناسب برای مدل تبدیل شود. دستکاری دادهها دقیقا به همین معنا است.
مرحله “تبدیل داده خام به دادهای مناسب و قابل استفاده برای مدل” را پیشپردازش دادهها (Data Preprocessing) مینامیم. ما دادهها را پیشپردازش میکنیم تا از نسخه خام به نسخهای ساختاریافته و قابل تحلیل تبدیل شوند. بنابراین، یکی از مهمترین وظایف پانداس، پیشپردازش و آمادهسازی دادهها است.
علاوه بر پیشپردازش داده، پانداس میتواند به ما کمک کند که اطلاعاتی ارزشمند از دادهها به دست آوریم و بر اساس این اطلاعات، تحلیل اکتشافی داده (Exploratory Data Analysis – EDA) را انجام دهیم. به کمک این تحلیل، میتوان الگوهای پنهان در دادهها را شناسایی و استخراج کرد.
ساختار داده (Data Structure)
منظور از ساختارهای دادهای چیست؟ احتمالا پیشتر در پایتون با لیست (List)، دیکشنری (Dictionary) و تاپل (Tuple) آشنا شدهاید یا در نامپای با آرایهها (Arrays) کار کردهاید. پانداس نیز دارای ساختارهای دادهای مخصوص به خود است که برای بارگذاری و ذخیرهسازی دادهها استفاده میشوند.
یکی از مهمترین این ساختارها، دیتافریم (DataFrame) است. هنگامی که دادههای ساختاریافته را در پانداس لود (Load) میکنیم، دادهها در قالب یک دیتافریم ذخیره میشوند. از این دیتافریم میتوان برای انجام عملیات مختلف مانند فیلتر کردن، گروهبندی، مرتبسازی، تغییر فرمت دادهها و بسیاری از پردازشهای دیگر استفاده کرد.
بنابراین، دیتافریمها امکان کار با دادههای ساختاریافته را برای ما فراهم میکنند. شاید این سوال برایتان پیش آمده که دادههای ساختاریافته به چه دادههایی گفته میشود و تفاوت آنها با دادههای غیرساختاریافته چیست؟
به طور کلی، دادههایی مانند فایلهای اکسل (Excel) یا CSV که دارای یک ساختار منظم هستند، دادههای ساختاریافته نامیده میشوند. تخصص اصلی پانداس، کار با دادههای ساختاریافته است.

در مقابل، دادههایی مانند تصاویر، صوت و متن، دادههای غیرساختاریافته محسوب میشوند. پانداس برای دادههای ساختاریافته و جدولی مناسب است. بنابراین فعلا به دادههای غیرساختاریافته کاری نداریم.
توابع قدرتمند پانداس
برای آنکه بتوانیم دادهها را تحلیل و پردازش کنیم، نیاز به توابع قدرتمند داریم. پانداس شامل مجموعهای از توابع آماده است که پردازش و تحلیل دادهها را آسان میکنند. برای مثال، میتوانیم با استفاده از پانداس، میانگین یک ستون مشخص را محاسبه کنیم. فرض کنید که یک دیتافریم شامل نمرات دانشآموزان داریم؛ پانداس میتواند میانگین نمرات را محاسبه کرده و مقدار آن را در یک ستون جدید ذخیره کند. شکل شماره 1 را در نظر بگیرید. میخواهیم با استفاده از برخی توابع پانداس میانگین نمرات دانشآموزان را محاسبه و در ستون جدیدی ذخیره کنیم. این کار به سادگی و با چند خط کد زیر قابل انجام است. هرچند شما هنوز با پانداس و دستورات آن آشنا نیستید اما نگران نباشید، در قسمتهای بعد به تفصیل، این دستورات را توضیح خواهیم داد.
grades = pd.read_excel('grades.xlsx') grades['Average'] = grades.iloc[:, 1:].mean(axis=1) grades.to_excel('average.xlsx')
نتیجه کد بالا، جدول زیر است:

بسیارخوب! تا اینجا به طور کلی با کتابخانه پانداس آشنا شدید. در بخشهای بعد توضیح میدهیم که چطور پانداس را با آناکوندا نصب کنید و آن را در محیط کدنویسی ایمپورت کنید.
نصب کتابخانه Pandas در پایتون
نصب پانداس با آناکوندا بسیار ساده است. میتوانید با انجام مراحل زیر آن را نصب کنید:
- آناکوندا را باز کنید.
- از منوی سمت چپ گزینه Environments را انتخاب کنید.
- محیط مورد نظر خود را که میخواهید پانداس در آن نصب شود انتخاب کنید.
- در بالای صفحه، از کنار گزینه Channels، گزینه Not installed را انتخاب کنید تا لیستی از پکیجهای نصبنشده نمایش داده شود.
- در قسمت بالای صفحه و در بخش Search Packages، کلمه Pandas را جستجو کنید.
سوال: بنظر شما چرا پکیجهای مرتبط زیادی نمایش داده میشود؟ پانداس یک کتابخانه پایهای و بسیار پرکاربرد است و به همین دلیل تعداد زیادی کتابخانه دیگر به آن وابسته یا مکمل آن هستند. بنابراین در لیست نتایج، علاوه بر خود پانداس، پکیجهای مرتبط دیگری نیز نمایش داده میشود.
- پس از یافتن Pandas، تیک مربوط به آن را بزنید و روی گزینه Apply کلیک کنید.
- صبر کنید تا آناکوندا ورژن مناسب پانداس و وابستگیهای مرتبط با آن را شناسایی کند. پس از نمایش لیست، دوباره گزینه Apply را بزنید.
- منتظر بمانید تا فرآیند نصب به پایان برسد.
به همین سادگی، پانداس روی محیط انتخابی شما نصب میشود!
ایمپورت پانداس
برای استفاده از پانداس، باید آن را ایمپورت کنیم. برای این کار کافی است دستور زیر را در نوتبوک یا اسکریپت خود اجرا کنید:
import pandas as pd
معمولاً از نام مستعار pd برای دسترسی سریعتر به توابع پانداس استفاده میشود. گاهی اوقات لازم است نسخهی دقیق کتابخانهای که نصب کردهاید را بدانید، زیرا ممکن است برخی ویژگیها یا توابع خاص، تنها در نسخههای مشخصی از کتابخانه وجود داشته باشند. برای بررسی نسخهی نصبشدهی پانداس، میتوانید از دستور زیر استفاده کنید:
print(pd.__version__)
2.2.2
بسیارخوب! تا اینجا به صورت مختصر با پانداس آشنا شدیم و توانستیم پانداس را نصب و ایمپورت کنیم. قبل از اینکه وارد بخشهای بعد شویم؛ بیایید در یک بخش کوتاه با دیتاستهای جدولی آشنا شویم.
دیتاستهای جدولی
دیتاستهای جدولی به عنوان یکی از رایجترین قالبهای ذخیرهسازی داده، نقشی کلیدی در تحلیل دادهها و یادگیری ماشین ایفا میکنند. شکل 3 نمونهای از یک دیتاست جدولی را نشان میدهد. این دیتاستها در یادگیری ماشین بسیار پرکاربرد هستند. بیاید بعضی از اصطلاحات مهم در دیتاست جدولی را معرفی کنیم.

اصطلاح اول
به هر کدام از سطرهای این دیتاست، سمپل (Sample) یا نمونه یا رکورد یا دیتا گفته میشود. اصولا سمپلها یا نمونهها در دیتاستهای جدولی مختلف (مانند شکل 3) سطر به سطر و زیر یکدیگر چیده میشوند.

اصطلاح دوم
به هر کدام از ستونها که یک ویژگی، خصوصیت یا پارامتر اندازهگیری از نمونهها را نمایش میدهد؛ فیچر (Feature) گفته میشود. به عنوان مثال در شکل 3، 4 فیچر وجود دارد.

سوال: چرا ستون اول و آخر، فیچر محسوب نمیشوند؟ سادهست! چون ستون اول صرفا به شماره سطرها اشاره میکند و ستون آخر هم دستهبندی گل را مشخص میکند بنابراین این ستونها، فیچر نیستند.
اصطلاح سوم: به ستون آخر، که نشاندهنده هدف مساله (طبقهبندی گلها) است، تارگت (Target) یا برچسب (Label) گفته میشود.

بسیارعالی! حالا اگر با کتابخانه نامپای (Numpy) آشنا باشید، ممکن است سوالهایی برای شما پیش آمده باشد؛ مثلا، چرا باید از پانداس استفاده کنیم؟ داده جدولی بالا که شبیه ماتریس بود، خب میتوانم این ماتریس را با نامپای پردازش کنم؛ چه نیازی به پانداس دارم؟ صبر کنید، به این سوالها در بخش مقایسه پانداس و نامپای پاسخ دادیم…
ادامه دارد…
دیدگاهتان را بنویسید