امروزه منابع داده ای (Data Source) متفاوتی وجود دارند که داده ها را فراهم می کنند. شاید اصلی ترین این منابع، پایگاه داده های رابطه ای باشند و در کنار آنها فایل های متنی CVS و XML و اکسل (Excel)، فایل های تصویری و و دیودیی و شبکه های اجتماعی نیز وجود دارند. بنابراین پیش از پردازش، تحلیل و احتمالا واگذاری آنها به الگوریتم های یادگیری ماشین و داده کاوی، باید این داده ها را توسط ابزارهایی جمع آوری کنیم.

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

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

انواع رابطه میان جدول های پایگاه داده رابطه ای: از دوره SQL

مهمترین چالشی که این روزها به وجود آمده، بحث کلان داده ها (Big Data) است که تکنیک های متفاوتی را در زمینه ذخیره سازی، پردازش، تحلیل داده ها نیاز دارد. به طور مثال رویکردهای کلان داده ها، مبتنی بر سیستم های توزیع شده (Distributed Systems) هستند در حالی که پایگاه داده های رابطه ای سنتی، تنها بر روی یک تک سیستم (Single System یا Single Node) نیز قابل اجرا شدن هستند.

ساختار ذخیره سازی در کلان داده ها: از دوره معماری کلان داده ها

دوره پایگاه داده رابطه ای درون حافظه Apache Ignite

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

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

در ادامه مطلب ها ابتدا روش های خواندن داده های متفاوت را توسط متدهای Pandas معرفی می کنیم و سپس با مثال های ساده چگونگی ادغام (Merge) و متصل کردن (Contact)  دو DataFrame را آموزش می دهیم. سپس ابزارهای کتابخانه Scikit-Learn برای آماده سازی داده ها معرفی می شوند. همچنین کتابخانه Pandas در وب اسکریپنگ (Web Scraping) و استخراج داده های وب نیز کاربرد دارد.