با داده‌ها چه می‌توان کرد؟ 10 - کار با پانداز 1

این قسمت را به معرفی و کار با نرم افزار پانداز اختصاص می دهیم. در بخش سوم این سلسه از مطالب نحوه چگونی نصب و فعال کردن پانداز را نشان دادیم و در بخش چهارم به همراه معرفی پایتون، چند عمل ساده، مانند اجرا کردن، افزودن سلول، نوشتن کد درون سلول و غیره را باختصار دیدیم. در اینجا بیشتر و دقیقتر با نحوه کارکرد پانداز آشنا می شویم.

بیشتر قابلیتهای پانداز از نام پای NumPy، سای کیت SciKit و بسته های آماری استت مدل Statmodel گرفته شده است. آنچه برتری پانداز را نسبت به نام پای برجسته می کند، قابلیت این نرم افزار در کار با داده های غیر عددی است.
برای استفاده از پانداز در چارچوب آی پایتون IPython، که با باز کردن یک نسخه از  نوتبوک ژوپیتر انجام می شود (به بخش سوم مراجعه کنید،) باید ابتدا پانداز را (کد زیر) وارد کرده و آنرا با Shift + Enter اجرا کنید.
import pandas as pd
از این پس pd معرف استفاده از قابلیتهای پانداز است.

پانداز دارای دو ساختار داده ای است که باید با آن آشنا شویم.
اولین ساختار Series است که قالب تک بعدی یک لیست است.
اگر فهرستی بجز فهرست ذاتی پانداز ( که عددی است) را بخواهیم، می توانیم از این طریق مشخص کنیم:
این فهرست جدید مثل فهرست عددی دارای جایگاه مشخص است:
بر روی لیست بوجود آمده می شود عملیات ریاضی انجام داد:
Series در پاندا می تواند بصورت دیکشنری هم باشد:

دومین ساختار داده ای در پانداز DataFrame است.

دیتافریم بلوکهای دو یا چند بعدی با ردیف و ستونهای مختلف هستند که در آنها داده هایی از نوع اعداد Numberد ، String یا boolean جای می گیرد.

دیتافریم را از طرق مختلفی می توان بوجود آورد اما مرسوم ترین شیوه از طریق دیکشنری است که در آن لیستهایی با تعداد و اندازه های یکسان وجود دارد. به مثال زیر نگاه کنید.

می شود جای ستونها را از این طریق تغییر داد و جابجا کرد:

نام ستونها و ردیف ها را می توان با کلمات columns و index تغییر داد. با colums می توان به تعداد ستونها هم اضاف کرد.

همانطور که ملاحظه می کنید در زیر ستون جدید (debt) داده ای وجود ندارد و به همین خاطر، پانداز NaN را قرار می دهد که به معنی "عدد نیست" می باشد. Not a Number.

اگر بخواهیم، می توانیم فقط یک ستون را بنمایش بگذاریم و روی آن کار کنیم.

این عمل را می شود از طریق نقطه بجای [] انجام داد:

با loc می شود یکی از ردیف ها را بیرون آورد و نشان داد:

همچنین می توان در زیر ستونی که بعدا اضاف شده بود را با هر نوعی و مقداری که مد نظرمان باشد، پر کرد.

می شود با T که با یک نقطه به نام دیتافِریم اضافه می شود، جای ستون را با ردیف عوض کرد.

اگر بخواهیم تنها داده ها (بدون نام ستون و ردیف) را مشاهده کنیم، از values استفاده می کنیم که بصورت array نشان می دهد:

در بالا به طریقه افزودن یک ستون اشاره کردیم. اگر بخواهیم به ردیف (index) اضافه کنیم، از reindex استفاده می کنیم:

البته که بخاطر عدم وجود داده و فقط افزودن نام ردیف، پانداز بجای داده ها، NaN را قرار می دهد.

برای حذف یک ردیف یا ستون، از ()drop استفاده می کنیم. نتیجه حاصله، یک دیتافِریم (یا در صورت Series) کاملا جدید است.

ملاحظه می کنید که برای حذف ستون، باید از axis=1 یا 'axis='columns نیز استفاده کرد.

پانداز نیز خصوصیاتی مشابه مانند پایتون در موضوعاتی چون مشخص کردن جایگاه و برش slicing دارد.

همچنین می توان یک یا چند ستون را بنا بر مورد خاصی که در نظر داریم، فیلتر کنیم:

در اینجا ما ردیفهایی که مقدار مورد نظرمان در ستون pop از 2 کمتر بود را حذف کردیم.

پیشتر در مورد loc که مخفف location است، گفتیم. از loc می شود داده های یک ردیف و چند ستون را نیز جدا کرد:

اگر داده هایی که می خواهیم جدا کنیم، عدد باشند، می توانیم از iloc به همان شیوه استفاده کنیم.

پانداز اجازه می دهد که عمیات ریاضیات بر روی Series و DataFaram ها انجام شود:

در جایی که داده موجود نیست، طبق معمول پانداز آنرا با NaN پر می کند. توجه می کنید که اعداد با هم جمع شدند و کلمات دو بار در کنار هم قرار گرفتند. تاریخ سالها نیز چنین است. این مثال را برای روشن شدن کارکرد عملیات ریاضی نشان داده می شود، والا در پیوستن دو یا چند دیتافِریم، مطمئنا ما منظور دیگری داریم و داده های ما اعداد خواهند بود.

در هنگام محاسبه، ما نمی خواهیم که هیچیک از سلولهای موجود در دیتافِریم NaN باشد. به همین منظور یا از drop استفاده می کنیم و یا جای آنها را با ()fillna پر می کنیم.

ادامه دارد


- اطلاعات مربوط به این بخش و قسمتهای آینده در باره پانداز، بیشتر برگفته از کتاب  Python for Data Analysis, Data Wrangling with Pandas, NumPy,and IPython چاپ دوم از انتشارات اورایلی است که توسط Wes McKinney، خالق پانداز، نوشته شده است. 

*- بیشتر ملاتها در مورد بررسی آماری در این سلسله مطالب، برگرفته از دو کتاب An Introduction to Statistical Learning و The Elements of Statistical Learning Data Mining, Inference, and Prediction از انتشارات سپرینگر springer.com/us و کلاسهای ارائه شده آنلاین توسط دانشگاه هاروارد است.


**- استفاده از این سلسله مطالب با ذکر منبع آزاد است.

Comments

Popular posts from this blog

با داده‌ها چه می‌توان کرد؟ 12 - کار با پانداز - 3 چگونه داده‌ها را وارد کنیم؟

با داده‌ها چه می‌توان کرد؟ 7 - استخراج داده ها با پایتون