برنامه نویسی و IT

آشنایی با کاربرد پایتون و ویژگی‌های مهم آن

پانداس پایتون چیست

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

 

ویدیو پییشنهادی : آموزش Pandas
آموزش Pandas

پانداس چیست؟

پانداس (Pandas) یک پکیج در پایتون است که مثل خانه برای دادهها محسوب میشود. دادهها درون پانداس قرار گرفته و انجام کارهای مختلف روی آن برای شما ممکن میشود. اساسیترین ابزارهای پانداس برای مرتب کردن، انتقال و تحلیل داده است. مثلا فرض کنید یک دیتاست با فرمت CSV دارید. زمانی که این دیتاست به پانداس وارد میشود، به صورت یک جدول درمیآید.

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

  1. دریافت دادهها
  2. آشنایی اولیه با ساختار دادهها (میانگین، توزیع، ارتباط ستونها و…)
  3. بصریسازی دادهها
  4. رفع اشکالات یا خلاهای موجود در داده

اهمیت پانداس در علم داده

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

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

ارتباط پانداس با دیگر کتابخانه های پایتون

در ساخت پانداس از کتابخانه NumPy استفاده شده است. این کتابخانه امکانات لازم برای انجام عملیات پیشرفته ریاضی و کار با آرایهها را در اختیار برنامهنویسان قرار میدهد. در واقع NumPy پایه و اساس Pandas را تشکیل میدهد. خود پانداس نیز در ساخت کتابخانههای دیگر پایتون نقش دارد.

  •       SciPy: این کتابخانه امکانات آماریاش را از پانداس قرض میگیرد
  •       Matplotlib: امکانات مربوط به پلات را از پانداس میگیرد.
  •       Scikit-learn: ابزار یادگیری ماشین را از پانداس میگیرد.

شروع کار با پانداس

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

ویدیو پییشنهادی : آموزش جنگو (django)
آموزش جنگو (django)

دانلود و نصب پانداس

دانلود پانداس معمولا از طریق نوشتن کد انجام میگیرد. از آنجایی که این کار برای کاربران تازهکار یا کمتجربه سخت خواهد بود. توصیه میشود آناکوندا را دانلود کنید. آناکوندا یک محیط نصب گرافیکی داشته و مجموعهای کامل از پکیجهای لازم برای دیتاساینس را بهطور همزمان روی کامپیوتر نصب میکند. راه دیگر برای نصب پانداس نوشتن دستورات زیر در ترمینال (یا Comman Prompt) است.

conda install pandas

OR

pip install pandas

پس از دانلود شدن پانداس، برای نصب آن در محیط پایتون از دستور زیر استفاده میکنیم.

import pandas as pd

شیوه کار با پانداس

پانداس پایتون دو جزء اساسی دارد:

  • Series: ستونی از دادهها
  •  DataFrame: یک جدول چندبعدی

ساخت یک جدول (DataFrame) در پانداس پایتون

دیتافریمها جداولی برای ذخیره اطلاعات ورودیاند. برای ساختن یک دیتافریم آزمایشی فرض میکنیم ورودی ما جدول فروش برای یک میوه فروشی است. هر سطر مربوط به یک مشتری است و در ستونهای تعداد خریداری شده از سیب یا پرتقال قابل مشاهده است. این مجموعه داده را ابتدا بهاینصورت برای پایتون تعریف میکنیم.

data = {

    'apples': [3, 2, 0, 1],

    'oranges': [0, 3, 7, 2]

}

در ادامه قرار است این دادهها را بهصورت یک دیتافریم یا جدول پانداس در بیاوریم. برای این کار مینویسیم:

purchases = pd.DataFrame(data)
purchases

خروجی کدهای نوشته شده به شکل زیر است:


آموزش پانداس به زبان ساده

در اینجا میبینید که هر سطر با شماره 0 تا 3 مشخص شده است. یعنی هر مشتری با یک شماره شناخته میشود. اگر بخواهیم نام مشتریان را وارد کنیم باید کد بالا را بهصورت زیر بنویسیم:

purchases = pd.DataFrame(data, index=['June', 'Robert', 'Lily', 'David'])
purchases

حالا در خروجی خواهیم داشت:

اچزای اصلی پانداس

میتوانیم از میزان خرید مشتری با توجه به نام او استعلام بگیریم:

purchases.loc['June']

در خروجی تعداد پرتقالها 0 و تعداد سیبها 3 نشان داده میشوند.

مقاله پییشنهادی : فریم ورک جنگو (Django) چیست؟
فریم ورک جنگو (Django) چیست؟

با استفاده از این مثال ساده سعی کردیم شما را با مفهوم و کاربرد اجزای اصلی پانداس آشنا کنیم. کاربرد پانداس اما در خواندن دادههای واقعی از فایلهایی مثل دیتاستها است. در ادامه خواندن فایلهای JSON، CSV و پایگاه داده MySQL توسط پانداس را به شما آموزش میدهیم. دیتاها عموما در این سه قالب به شما ارائه خواهند شد.

خواندن دیتا از فایل CSV

به مثال میوهفروشی بازمیگردیم. این بار دادههای میوهفروش در قالب فایل Purchases.csv به ما ارائه شدهاند. برای خواندن این فایل توسط پانداس در محیط پایتون یا نوتپد مینویسیم:

df = pd.read_csv('purchases.csv')
df

در خروجی خواهیم داشت:

دستورات اولیه پانداس پایتون

همانطور که میبینید یک ستون Index با شمارههای صفر تا 3 وجود دارد که اضافی است. برای حذف این ستون لازم است ستون صفرم (ستون اسامی) را بهعنوان Index معرفی کنیم. مینویسیم:

df = pd.read_csv('purchases.csv', index_col=0)
df

و در خروجی جدول بدون ستون اضافه بهنمایش درمیآید:

خروجی دستورات پایتون

خواندن دیتا از فایل JSON

یکی دیگر از فرمتهای پرکاربرد ارائه دیتا JSON است. برای خواندن فایل Purchases.json باید کد زیر را نوشته و اجرا کنیم:

df = pd.read_json('purchases.json') 
df

در فایلهای JSON معمولا مشکل ستون اضافه برای INDEX وجود ندارد. اما گاهی پانداس پایتون برای تحلیل ساختار فایل JSON به مشکل میخورد. در این مواقع لازم است آرگومان کلیدواژه Orient را با توجه به ساختار تنظیم کنید. برای دسترسی به جزییات بیشتر در این مورد به راهنمای خواندن فایل‌های json مراجعه کنید.

مقاله پییشنهادی : کتابخانه های پایتون
کتابخانه های پایتون

خواندن دیتا از پایگاه داده MySQL

برای دریافت دیتا از پایگاه داده ابتدا لازم است با سرور SQL از طریق پایتون ارتباط برقرار کنید. برای این کار نیاز به کتابخانه pysqlite3 دارید. اگر این کتابخانه در پایتون شما موجود نباشد باید آن را از طریق دستور زیر دانلود کنید:

pip install pysqlite3

برای برقراری ارتباط از طریق این کتابخانه با پایگاه داده، دستورات زیر را تایپ میکنیم.

import sqlite3
con = sqlite3.connect("database.db")

زمانی که ارتباط برقرار شد، نوبت به استخراج دادههای مورد نظر میرسد. با دستور زیر عملیات دریافت دیتافریم مورد نظر از جدول Purchases در MySQL انجام میشود.

df = pd.read_sql_query("SELECT * FROM purchases", con)
df

اگر در خروجی مشکل ستون اضافه برای ایندکس را مشاهده کردید، از دستور زیر برای حذف آن استفاده نمایید.

df = df.set_index('index')
 df

تبدیل دیتافریم به فرمت اولیه

گاهی دادهها را از طریق پانداس باز کرده و روی آنها اصلاحاتی انجام میدهیم و به فرمت اولیه برمیگردانیم. تبدیل دیتافریم پانداس به فرمتهای CSV، JSON و SQL به ترتیب از طریق سه دستور زیر انجام میپذیرد:

df.to_csv('new_purchases.csv')
df.to_json('new_purchases.json')
df.to_sql('new_purchases', con)

دیگر دستورات مربوط به کار با داده ها

بدیهی است که برای آموزش Pandas نمیتوانید تنها روی این مطلب حساب کنید. اما سعی داریم تا حدی پیش برویم که پس از خواندن این مطلب مخاطب توانایی کار با پانداس را در حد متوسط داشته باشد. از دستورات مهم پانداس میتوان به موارد زیر اشاره کرد:

شرح دستور

دستور

اطلاعات اولیه مربوط به DataFrame مثل تعداد کل دادهها، تعداد سطر، تعداد ستون، نام هر سطر و نوع دادههای موجود در هر ستون را به خروجی میبرد.

DataFrame_df.info()

با این دستور n سطر اول از جدول در خروجی بهنمایش درمیآیند. اگر داخل پرانتز را خالی بگذارید بهطور خودکار پنج سطر اول در خروجی چاپ خواهد شد.

DataFrame_df.head(n)

با این دستور n سطر آخر دیتافریم در خروجی نمایش داده میشوند. اگر داخل پرانتز را خالی بگذارید بهطور خودکار پنج سطر آخر به خروجی برده میشوند.

DataFrame_df.tail(n)

تعداد سطر و ستون دیتافریم مورد نظر را اعلام میکند.

DataFrame_df.shape

یک کپی موقتی (temp) از دیتافریم گرفته میشود تا تغییرات لازم بدون دست خوردن به فایل اصلی روی آن اعمال شوند.

temp_df = DataFrame_df.append(DataFrame_df)

تکرارها را حذف میکند.

temp_df = temp_df.drop_duplicates()

مقادیر صفر را در دیتافریم پیدا میکند.

DataFrame_df.isnull()

خانههایی که مقدار صفر دارند را حذف میکند.

DataFrame_df.dropna()

نتیجه گیری در مورد کاربرد پانداس

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

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

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا