معرفی کتابخانه Pandas برای زبان برنامه نویسی پایتون + فیلم
در پست قبلی به کتابخانه Numpy و کاربردهای آن اشاره کردیم. اما این کتابخانه به تنهایی قادر به خواندن شکل های مختلف داده نیست و اینجاست که کتابخانه Pandas وارد میشه و این مسئله رو برای ما حل میکنه. فرمتها و شکلهای مختلفی از دادهها وجود داره که برای وارد کردن اونها به پروژه میتونیم از Pandas استفاده کنیم. خب قاعدتا قابلیتهای پانداز محدود به همین بخش نمیشه و شما میتونید به وسلیه اون هم بهتر دادههاتون رو بشناسید و هم عملیاتهای مثل تمیز کردن دادهها رو باهاش انجام بدین. در اینجا داده ها صرفا عددی نیستن و ممکنه در قالب فایل های اکسل (xlsx) و یا CSV ارائه بشن.
Pandas یک کتابخانه بسیار محبوب است که برای مدیریت داده های جداول، دستکاری و تجزیه و تحلیل داده ها بر اساس Numpy ساخته شده است!
نحوه نصب و استفاده از Pandas
برای نصب کتابخانه پانداز از دستور زیر استفاده میکنیم:
pip install pandas
برای وارد کردن این کتابخونه هم به پروژههامون از دستور زیر استفاده میکنیم:
import pandas as pd
همونطور که میدونین as pd برای مخفف سازی اسم Pandas هستش که باعث سهولت کدنویسی ما میشه. pd به عنوان یک رسم بین کدنویس ها جا افتاده ولی شما میتونین هرچی که دلتون خواست قرار بدین یا ندین اصن. پس هر جا از این بعد در ادامه این پست کلمه pd رو دیدیم منظور ما همون کتابخانه Pandas هستش.
دیتافریم (DataFrame) و سریها (Series)
قبل از شروع کار با کتابخانه Pandas بهتره که شما دو نوع ساختار اصلی دادهها رو بشناسید:
1- سریها:
سری ها خیلی مشابه همون لیست ها در خود پایتون هستن با این تفاوت که هر عنصر در اون دارای یک ایندکس (Index) مشخص هستش. این میتونه خیلی شبیه آرایههای تو Numpy هم باشه. سریها به شکل زیر تعریف میشن:
my_series = pd.Series([5, 6, 7, 8, 9, 10]) my_series 0 5 1 6 2 7 3 8 4 9 5 10
برای ساخت یک سری از دستور pd.Series() استفاده میکنیم. در این کدهای فوق میبینید که هر عدد در my_series یک ایندکس به خصوص گرفته. اگر ایندکسها رو خودتون معرفی نکنید، Pandas ب طور پیش فرض یک ایندکس به هر عدد متناظر میکند. این ایندکس از صفر تا N-1 خواهند بود که N تعداد اعداد است. جهت دسترسی به هر عدد هم می تونیم از ایندکس متناظرش استفاده کنیم و اونو صدا بزنیم (به این صورت: my_series[4] که برابر 9 خواهد بود).
چطور ایندکس رو به صورت دلخواه تغییر بدیم؟
برای تغییر ایندکسها به شکل دلخواه خودمون میتونیم هنگام تعریف هر سری از دستور index استفاده کنیم. به مثال زیر دقت کنید تا برای شما این موضوع شفاف بشه:
my_series2 = pd.Series([5, 6, 7, 8, 9, 10], index=['a', 'b', 'c', 'd', 'e', 'f']) my_series2 a 0 b 0 c 7 d 8 e 9 f 0
آرایه های Numpy هم قابلیت تبدیل به سری را دارند:
my_array = np.array([0.5, 1.2, 2.1, 1.1, 1.6, 1.8, 1.4, 0.6, 0.4, 0.3, 0.9, 2.5, 2.1, 2.8]) my_series = pd.Series(array)
2– دیتافریم:
خیلی ساده بخوام بگم، دیتافریمها همون جداول هستن. هر ستون یک دیتافریم در حقیقت یک سری حساب میشه. هر ردیف هم مقادیر درون سری ها است. یکی از راههای ساخت دیتافریم استفاده از دیکشنریها در پایتون هستش البته روشهای دیگری هم قاعدتا وجود داره که در آینده به اونها خواهیم پرداخت. در این پست صرفا میخوایم با این مفاهیم آشنا بشیم. دستور مورد نیاز برای ساخت دیتافریم pd.DataFrame() هستش. با این تفاسیر ما به شکل زیر یک دیتافریم میسازیم:
>>> df = pd.DataFrame({ 'country': ['Kazakhstan', 'Russia', 'Belarus', 'Ukraine'], 'population': [17.04, 143.5, 9.5, 45.5], 'square': [2724902, 17125191, 207600, 603628] })
به کدهای بالا دقت کنید. ما به وسیله کلیدها نام ستونها رو مشخص کرد و مقادیر که در حقیقت سریها هستند مقادیر هر ستون رو نشون میدن. نتیجه کد بالا در حقیقت شکل پایینه:
حالا خیلی راحت میتونیم به هرکدوم از این ستون ها دسترسی داشته باشیم. مثلا:
df['country'] 0 Kazakhstan 1 Russia 2 Belarus 3 Ukraine #<--------- توضیحات ------------> # Name: country, dtype: object # >>> type(df['country']) #<class 'pandas.core.series.Series'>
همونطور که مشاهده میکنید در بخش توضیحات تایپ ستون رو به صورت سری گزارش کرده.
در آموزشهای به بعدی به سایر قابلیت های این کتابخونه خواهیم پرداخت.
با ما همراه باشید.
مشاهده جلسه دوم آموزش کتابخانه Pandas
منابع: