تحلیل داده با پایتون – به زبان ساده

۲۱
۱۴۰۵/۰۳/۱۸
۲۴ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

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

آنچه در این مطلب می‌آموزید:
  • با مهم‌ترین دلایل و کاربردهای تحلیل داده با پایتون آشنا می‌شوید.
  • توابع مختلف را برای خواندن انواع فایل‌های ذخیره داده می‌شناسید.
  • با آرایه‌ در Numpy آشنا می‌شوید و چند عملیات رایج آن را یاد می‌گیرید.
  • با عملکرد Boolean در عبارت‌های شرطی و مقایسه‌ای آشنا می‌شوید.
  • رایج‌ترین دستورهای مورد نیاز برای تحلیل داده با استفاده از Pandas را می‌‌آموزید.
  • یاد می‌گیرید که چطور با کمک ابزارهای پایتون داده‌های خود را به تصویر بکشید.
تحلیل داده با پایتون – به زبان سادهتحلیل داده با پایتون – به زبان ساده
فهرست مطالب این نوشته
997696

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

تحلیل داده با پایتون

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

تحلیل داده مزایای مهمی دارد. در فهرست زیر چند مورد از رایج‌ترین مزایای تحلیل داده را نوشته‌ایم.

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

پیش‌نیاز تحلیل داده با پایتون

قبل از شروع به بررسی این مطلب باید مهارت قابل قبولی درباره روش کار با «ژوپیتر نوت‌بوک» (Jupyter Notebook) داشته باشید. البته روش کار با این ابزار ساده است و به راحتی می‌توان آن را یاد گرفت. Jupyter Notebook ابزاری محبوب و پرکاربرد برای فعالیت در حوزه‌هایی مانند تحلیل داده، هوش مصنوعی و غیره با پایتون است. در صورت نیاز، به‌جای آن می‌توانید از «ژوپیتر لب» (JupyterLab) هم استفاده کنید.

تحلیل داده یکی از رشته‌های بسیار محبوب در بین توسعه‌دهندگان پایتون است. در این رشته وظایف بسیار متنوعی از موارد ساده گرفته تا بسیار پیچیده قرار دارند. با توجه به مجموعه داده‌ای که بر روی آن کار می‌کنیم و سطحی از اطلاعات که به دنبال آن هستیم، باید کارهای منظم و مشخصی را در زمان اجرای تحلیل داده انجام بدهیم. برای غلبه بر این مسائل پیچیده و سخت در زمان تحلیل داده لازم است رویکرد خود را به شکل استراتژیک و حرفه‌ای طراحی کنیم. به این فرایند «جریان کار تحلیل داده» (Data Analysis Workflow) گفته می‌شود.

جریان کار تحلیل داده

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

پیروی از جریان کار تحلیل داده مزایای زیادی دارد. در فهرست زیر مهم‌ترین این مزایا را توضیح داده‌ایم.

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

خواندن داده‌‌ ها به عنوان اولین قدم

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

!python -m pip install pandas

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

تصویری از جریان رنگی داده‌ها که از کاغذ به بیرون می‌آیند.

خواندن داده‌های CSV با Pandas

با کمک کتابخانه Pandas به راحتی می‌توانید انواع فایل‌های CSV را باز کرده و داده‌های آن را بخوانید. با این کار داده‌های ذخیره شده در فایل CSV به دیتافریم‌های اختصاصی Pandas تبدیل می‌شوند. در کد پایین، روش انجام این کار توضیح داده شده است.

نکات مهم کد بالا را در فهرست پایین توضیح داده‌ایم.

  1. خط اول در کد بالا مربوط به وارد کردن کتابخانه Pandas به محیط برنامه نویسی است. استفاده از نام مستعار pd برای ارجاع ساده‌تر به کتابخانه Pandas در کدها رفتاری استاندارد و قراردادی است. این کار الزامی نیست اما تقریبا تمام توسعه‌دهندگان حرفه‌ای آن را انجام می‌دهند.
  2. در خط دوم هم فایل فرضی james_bond_data.csv توسط تابع read_csv() خوانده می‌شود. این تابع نه تنها داده‌ها را از درون فایل می‌خواند بلکه می‌تواند هدینگ داده‌ها را مرتب کرده و حتی تمام ردیف‌ها را به صورت منظم اندیس‌گذاری کند.
  3. به عنوان پارامتر تابع read_csv() باید نام فایل را همراه با آدرس کامل آن به صورت رشته بنویسیم. آدرس فقط وقتی حذف می‌شود که دیتاست در داخل همان دایرکتوری باشد که فایل ژوپیتر نوت‌بوک قرار دارد.
  4. سپس پانداس با کمک متد convert_dtypes() تمام داده‌های قابل استفاده در دیتافریم‌ها را (با توجه به نوع داده آن‌ها) بهنیه‌سازی می‌کند.

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

برای نصب اپلیکیشن رایگان مجله فرادرس، کلیک کنید.

فرض کنید فایل CSV حاوی ستونی از اعداد صحیح است که چند مقدار در آن مفقود شده‌اند. به صورت پیش‌فرض، به «مقدارهای مفقود شده» (Missing Values) مقدار ثابت اعشاری numpy.NaN  اختصاص داده می‌شود. در نتیجه Pandas نوع داده‌ی این ستون را «Float64» در نظر می‌گیرد. بنابراین تمام اعداد صحیح موجود در آن ستون، برای حفظ یکپارچگی، به اعداد اعشاری تبدیل می‌شوند. از کتابخانه پانداس می‌توان برای خواندن سایر فایل‌ها هم استفاده کرد. در فهرست زیر چند مورد از رایج‌ترین این فایل‌ها را معرفی کرده‌ایم.

  • فایل‌های JSON: برای خواندن فایل‌های JSON با کمک Pandas از تابع read_json()  کمک می‌گیریم.
  • فایل‌های Excel: برای خواندن فایل‌های Excel با کمک Pandas از تابع read_excel()  کمک می‌گیریم.
  • فایل‌های Parquet: برای خواندن فایل‌های Parquet با کمک Pandas از تابع read_parquet()  استفاده می‌کنیم.
  • فایل‌های HTML: برای خواندن فایل‌های HTML با کمک Pandas از تابع read_html()  کمک می‌گیریم.

مهم‌ترین نکات این بخش و توابع کاربردی برای خواندن داده‌های مختلف را در جدول زیر نوشته‌ایم.

نوع فایلتابع مربوطه
CSVread_csv()
JSONread_json()
Excelread_excel()
Parquetread_parquet()
HTMLread_html()

چگونه تحلیل داده با پایتون را در فرادرس یاد بگیریم؟

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

مجموعه آموزش تحلیل داده با پایتون
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزشی تحلیل داده با پایتون هدایت شوید.

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

در فهرست زیر، چند مورد از دوره‌های مرتبط با علم داده و تحلیل داده با پایتون معرفی شده‌اند.

در بخش بعدی چند نکته مهم درباره تحلیل داده‌های عددی با نامپای را بررسی می‌کنیم.

تحلیل داده با پایتون به کمک NumPy

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

آرایه‌ها در NumPy

آرایه‌های NumPy عناصری با نوع داده یکسان را ذخیره می‌کنند. این آرایه‌ها می‌توانند از چندین بعد تشکیل شوند. به تعداد بعدها «رتبه» (Rank) و اندازه هر بعد «شکل» (Shape) گفته می‌شود. در کادر پایین، نمونه ساده‌ای از آرایه دو بعدی را در نامپای ساخته‌ایم. سپس این آرایه را همراه با رتبه و شکل آن در خروجی چاپ می‌کنیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Array:
 [[1 2 3]
 [4 5 6]]
Shape: (2, 3)
Dimensions: 2

البته توجه کنید که تمام این کدها را در سلول‌های ژوپیتر نوت‌بوک نوشته‌ایم. بنابراین برای مثال، دیگر نیازی به به ایمپورت کردن کتابخانه NumPy در کدهای بعدی نداریم.

ایجاد آرایه‌های NumPy

با استفاده از لیست‌ها، تاپل‌ها یا توابع داخلی مانند zeros() و ones() و arange() و empty() نیز می‌توان آرایه ساخت. در کادر پایین، روش ساخت آرایه با کمک توابع معرفی شده را پیاده‌سازی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Matrix A 
 [1 2 3] 
 Matrix B 
 [[0. 0.]
 [0. 0.]] 
 Matrix C 
 [[1. 1.]
 [1. 1.]] 
 Matrix D 
 [0 2 4 6 8] 
 Matrix E 
 [[4607182418800017408 4607182418800017408]
 [4607182418800017408 4607182418800017408]]

عملیات روی آرایه‌های NumPy

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

  • جمع: عناصر متناظر دو آرایه را با هم جمع می‌کند.
  • تفریق: عناصر آرایه‌ای را از آرایه دیگر کم می‌کند.
  • ضرب: ضرب عنصر به عنصر را انجام می‌دهد.
  • تقسیم: عناصر آرایه‌ای را بر آرایه دیگر تقسیم می‌کند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Addition: [11 22 33]
Subtraction: [ 9 18 27]
Multiplication: [10 40 90]
Division: [10. 10. 10.]

ایندکس‌گذاری در آرایه‌های NumPy

ایندکس‌گذاری برای دسترسی به عناصر آرایه‌ با استفاده از موقعیت آن‌ها به کار می‌رود.

تصویر ساده و نمادین از اندیس‌گذاری خانه‌های لیست در پایتون

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

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

First element: 10
Last element: 40

تکه تکه کردن آرایه‌های نامپای

با استفاده از تکنیک «Slicing» می‌توان بخش مشخصی از آرایه را از داخل آن استخراج کرد. این روش برای کار بر روی زیرمجموعه‌های دلخواهی از داده‌ها بسیار مفید است. زیرا دسترسی به محدوده‌های خاصی از اطلاعات را آسان‌تر می‌کند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Slice (1 to 3): [20 30 40]
First three elements: [10 20 30]

پخش‌پذیری آرایه‌های NumPy

«پخش‌پذیری» (Broadcasting) یکی از ویژگی‌های NumPy است. این ویژگی به توسعه‌دهنده‌گان اجازه می‌دهد عملیات ریاضی را روی آرایه‌هایی با شکل‌های متفاوت انجام دهند، بدون اینکه لازم باشد آن‌ها را به صورت دستی هم‌اندازه کنند. با کمک Broadcasting کدها ساده‌تر نوشته شده و عملیات روی داده‌ها با کارایی بیشتری انجام می‌شوند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Add scalar: [6 7 8]
Broadcasting result:
 [[11 21 31]
 [12 22 32]
 [13 23 33]]

در فهرست پایین، مراحل اجرای کدهای بالا را نوشته‌ایم.

  1. ابتدا آرایه arr  شامل اعداد 1 و 2 و 3 ساخته می‌شود.
  2. سپس با استفاده از عبارت arr + 5 ، عدد 5 به همه عناصر آرایه arr  اضافه شده و نتیجه نمایش داده می‌شود.
  3. در ادامه، آرایه b  را به صورت ستونی و آرایه c  را به صورت یک‌بعدی تعریف می‌کنیم.
  4. با اجرای عبارت b + c، قابلیت Broadcasting در NumPy به کار گرفته شده است. در این فرایند، NumPy شکل آرایه‌ها را به صورت خودکار با یکدیگر هماهنگ می‌کند و سپس عملیات جمع را روی عناصر انجام می‌دهد.
  5. در نهایت، ماتریس حاصل از این جمع روی خروجی چاپ می‌شود.

تحلیل داده با پایتون به کمک Pandas

Pandas یکی از کتابخانه‌های قدرتمند پایتون است. این کتابخانه برای کار با داده‌های ساختار‌یافته (رابطه‌ای یا برچسب‌دار) استفاده می‌شود. کتابخانه Pandas بر پایه NumPy ساخته شده است و ساختارهای داده‌ انعطاف‌پذیری دارد. در ضمن ابزارهایی نیز برای دستکاری داده، تحلیل و عملیات روی سری‌های زمانی ارائه می‌دهد.

کتابخانه Pandas یکی از مهم‌ترین و کلیدی‌ترین ابزارها برای تحلیل داده با پایتون است. در این بخش چند مفهوم مهم این کتابخانه را معرفی کرده‌ایم. اما در صورت تمایل یادگیری بهتر و کامل‌تر می‌توانید فیلم آموزش «پانداس» (Pandas) برای تحلیل اطلاعات در پایتون + گواهینامه را در فرادرس مشاهده کنید. برای دسترسی راحت‌تر، لینک مستقیم این فیلم آموزشی در پایین نیز قرار داده شده است.

در فهرست پایین سه مورد از مهم‌ترین ویژگی‌های پانداس را نوشته‌ایم.

  • برای کار با داده‌های ساختار‌یافته و جدولی استفاده می‌شود.
  • بر پایه NumPy ساخته شده است و عملکرد بالایی دارد.
  • از پاک‌سازی داده، تبدیل و تحلیل پشتیبانی می‌کند.
سه مورد از مفاهیم مهم برای تحلیل داده با استفاده از Pandas در پایتون
سه مورد از مفاهیم مهم برای تحلیل داده با استفاده از Pandas در پایتون

سری در Pandas

سری در Pandas، آرایه‌های یک‌بعدی و برچسب‌داری هستند که می‌توانند هر نوع داده‌ای را مانند اعداد صحیح، رشته‌ها، اعداد اعشاری و غیره در خود نگه دارند. در سری‌ها هر عنصر «اندیس» (Index) مختص به خود را دارد.

در فهرست پایین، مهم‌ترین ویژگی‌های سری‌های پانداس را نوشته‌ایم.

  • نمایانگر یک ستون از داده‌ها است.
  • از ایندکس‌گذاری و برچسب‌گذاری پشتیبانی می‌کند.
  • می‌تواند انواع مختلف داده را ذخیره کند.

در کادر زیر، نمونه ساده‌ای از سری‌های Pandas را تعریف کرده و در خروجی چاپ می‌کنیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

0    10
1    20
2    30
3    40
dtype: int64
First element: 10

دیتافریم در Pandas

DataFrame ساختار داده‌ای دو‌بعدی و برچسب‌دار است که از سطر و ستون تشکیل می‌شود. این ساختار شبیه جدول یا «صفحه گسترده» (Spreadsheet) است.

در فهرست پایین مهم‌ترین ویژگی‌های دیتافریم در Pandas را نوشته‌ایم.

  • داده‌های جدولی را به شکل سطر و ستون نمایش می‌دهد.
  • هر ستون می‌تواند نوع داده متفاوتی داشته باشد.
  • پرکاربردترین ساختار در Pandas است.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name  Age
0    A   20
1    B   21
2    C   22
Column Access:
 0    A
1    B
2    C
Name: Name, dtype: str

ماهیت دیتافریم‌های Pandas با آرایه‌های دوبعدی معمولی تفاوت دارد. در این بخش دیتافریم‌ها را به شکل ابتدایی معرفی کردیم. اما برای شناخت آرایه‌های دو بعدی در پایتون می‌توانید مطلب مربوط به آن‌ها را مجله فرادرس مطالعه کنید.

عملیات CRUD در Pandas

Pandas امکان انجام عملیات ایجاد، خواندن، به‌روزرسانی و حذف داده‌ها را روی مقادیر ذخیره شده در فایل‌های CSV به راحتی فراهم می‌کند. به همین دلیل برای اجرای پروژه بر روی داده‌های واقعی و کاربردی بسیار مناسب است.

دیاگرام معرفی عملیات CRUD در Pandas
معرفی ساده و خلاصه عملیات CRUD در Pandas

این عملیات با نام «CRUD Operations» شناخته می‌شوند.

  • ایجاد (Create): ساخت DataFrame و ذخیره آن به صورت فایل CSV
  • خواندن (Read): بارگذاری داده از فایل CSV
  • به‌روزرسانی (Update): تغییر مقادیر یا اضافه کردن ستون‌های جدید
  • حذف (Delete): حذف سطرها یا ستون‌ها

تمام عملیات معرفی شده در بالا (CRUD) را یک به یک در کادر پایین پیاده‌سازی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Read:
   Name  Age
0    A   20
1    B   21
2    C   22

Update:
   Name  Age    City
0    A   21   Delhi
1    B   22  Mumbai
2    C   23    Pune

Delete:
   Name  Age
1    B   22
2    C   23

تحلیل کاوشگرانه داده‌ (EDA)

«تحلیل کاوشگرانه داده‌» (Exploratory Data Analysis | EDA) رویکردی است که برای شناسایی الگوهای عمومی به کار برده می‌شود. این الگوها شامل «داده‌های پرت» (Outliers) و ویژگی‌هایی از داده‌ها هستند که شاید حتی غیرمنتظره باشند.

تمام این کارها برای اجرای پروژه‌های مربوط به علم داده ضروری هستند. تحلیل داده را می‌توان به نوعی زیرمجموعه‌ای از حوزه علم داده دانست. در صورت تمایل به آشنایی با این شاخه از دانش، پیشنهاد می‌کنیم که فیلم آموزش رایگان علم داده یا دیتا ساینس Data Science چیست؟ + فرصت‌های شغلی را در فرادرس مشاهده کنید. به منظور کمک به مخاطبان مجله، لینک دسترسی مستقیم به این فیلم را در پایین نیز قرار داده‌ایم.

EDA اولین و یکی از مهم‌ترین مراحل در تحلیل داده است. در این مرحله، موقعیت داده‌های پرت و روابط بین متغیرها بررسی می‌شود تا تحلیل‌های آماری معنادارتر طراحی شوند. برای مثال، «نمودارهای پراکندگی» (Scatter Plots) و ضرایب همبستگی می‌توانند اطلاعات ارزشمندی درباره رابطه بین «جفت‌متغیرها» (Pairs Of Variables) ارائه دهند. با این حال، زمانی که تعداد متغیرها زیاد باشد، روش‌های «تجسم چندمتغیره» (Multivariate Visualization) نقش مهم‌تری پیدا می‌کنند. یعنی با کمک این روش‌ها می‌توان بینش عمیق‌تری از داده‌ها بدست‌ آورد.

مهم‌ترین کارها در زمان انجام تحلیل کاوشگرانه داده‌ (EDA)
مهم‌ترین کارها در زمان انجام تحلیل کاوشگرانه داده‌ یا EDA

در این قسمت از مطلب، چند مورد از مهم‌ترین وظایف مربوط به انجام تحلیل کاوشگرانه داده‌ها یا EDA را بررسی می‌کنیم.

۱- بررسی داده‌ها

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

  • info(): ساختار دیتاست، نام ستون‌ها، نوع داده‌ها و مقادیر غیر تهی را نمایش می‌دهد.
  • describe(): خلاصه آماری مانند میانگین، کمترین مقدار، بیشترین مقدار و انحراف معیار را نشان می‌دهد.
  • Value_counts(): تعداد تکرار مقادیر یکتا در هر ستون را محاسبه می‌کند.
  • head(): این متد،‌ چند ردیف اول دیتاست را نمایش می‌دهد.
  • tail(): این متد،‌ چند ردیف آخر دیتاست را نمایش می‌دهد.

در کادر پایین روش کار تمام متد‌های بالا را با کمک مثال ساده‌ای بررسی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Info:
<class 'pandas.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 2 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Name    5 non-null      str  
 1   Age     5 non-null      int64
dtypes: int64(1), str(1)
memory usage: 212.0 bytes
None

Describe:
             Age
count   5.00000
mean   20.80000
std     0.83666
min    20.00000
25%    20.00000
50%    21.00000
75%    21.00000
max    22.00000

Value Counts:
 Name
A    2
B    2
C    1
Name: count, dtype: int64

Head:
   Name  Age
0    A   20
1    B   21
2    C   22
3    A   20
4    B   21

Tail:
   Name  Age
0    A   20
1    B   21
2    C   22
3    A   20
4    B   21

۲- دستکاری داده در Pandas

Pandas مجموعه‌ای از عملیات کاربردی برای انتخاب، سازمان‌دهی و تبدیل داده‌ها ارائه می‌دهد. با وجود این عملیات انجام تحلیل داده سریع‌تر و کارآمدتر می‌شود. برای مثال می‌توانیم به موارد زیر اشاره کنیم.

  • اندیس‌گذاری و انتخاب
  • گروه‌بندی و تجمیع
  • ادغام و اتصال چند بلوک داده
  • مرتب‌سازی
  • فیلتر کردن داده‌ها
  • متد set_index()
  • متد reset_index()

در ادامه مطلب، روش استفاده از تمام موارد بالا را با کمک مثال‌های ساده‌ای بررسی می‌کنیم.

اندیس‌گذاری و انتخاب

تکنیک «اندیس‌گذاری و انتخاب» (Indexing and Selection) برای دسترسی به سطرها، ستون‌ها یا زیرمجموعه‌های خاصی از داده استفاده می‌شود.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

0    A
1    B
2    C
Name: Name, dtype: str
  Name  Age
0    A   20
1    B   21

گروه‌بندی و تجمیع

«گروه‌بندی و تجمیع» (Grouping and Aggregation) داده‌ها را بر اساس ستون مشخص دسته‌بندی کرده و سپس توابع تجمیعی مانند میانگین، جمع و غیره را روی آن اعمال می‌کند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name
A    82.5
B    90.0
Name: Marks, dtype: float64

ادغام و اتصال چند بلوک داده

تکنیک‌های «ادغام» (Merging) و «اتصال» (Joining) برای ترکیب چند DataFrame بر اساس ستون‌های مشترک استفاده می‌شوند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name  Age    City
0    A   20   Delhi
1    B   21  Mumbai

مرتب‌سازی

با کمک کتابخانه پانداس می‌توانیم مقادیر مجموعه داده را بر اساس مقادیر موجود در ستون‌ها مرتب‌سازی کنیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name  Marks
1    B     95
2    C     90
0    A     85

فیلتر

از تکنیک فیلتر کردن برای انتخاب داده‌ها بر اساس شرایط خاص استفاده می‌شود.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name  Marks
1    B     95
2    C     90

set_index

از تابع set_index() برای تعیین ستون خاصی به عنوان اندیس در دیتافریم استفاده می‌کنیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Marks
Name
A        85
B        95
C        90

reset_index

این تابع، ساختار اندیس‌گذاری دیتا فریم را به همان ساختار عددی پیش‌فرض برمی‌گرداند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name  Marks
0    A     85
1    B     95
2    C     90

۳- کار با داده‌های گمشده

کار با «داده‌های گمشده» (Missing Data) یکی از مراحل مهم در «تحلیل کاوشگرانه داده‌» (Exploratory Data Analysis | EDA) است. با این کار، کیفیت داده‌ها و دقت تحلیل تضمین می‌شود. کار با داده‌های گمشده، شامل شناسایی مقادیر گمشده و استفاده از روش‌های مناسب برای مدیریت آن‌ها بدون تأثیر منفی بر نتایج است.

دو ابزار مهم برای کار با داده‌های گمشده و خالی
دو ابزار مهم برای کار با داده‌های گمشده و خالی

بررسی داده‌های گمشده

«بررسی داده‌های گمشده» (Checking Missing Data) برای شناسایی مقادیر null  در مجموعه داده به کار می‌رود.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name    Age
0  False  False
1  False   True
2  False  False
Name    0
Age     1
dtype: int64

حذف مقادیر گمشده

روش‌های مختلفی برای مدیریت داده‌های گمشده وجود دارند که بسته به نیاز خود می‌توانیم هر کدام از آن‌ها را انتخاب کنیم. یکی از این روش‌ها «حذف مقادیر گمشده» (Dropping Missing Values) است. در کادر پایین، روش اجرای این تکنیک را پیاده‌سازی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name   Age
0    A  20.0
2    C  22.0
  Name   Age
0    A  20.0
1    B   NaN
2    C  22.0

۴- بررسی و مدیریت مقادیر تکراری

مقادیر تکراری می‌توانند باعث تحلیل اشتباه و نتایج نادرست شوند. شناسایی و حذف داده‌های تکراری یکی از مراحل مهم پاک‌سازی داده در «تحلیل کاوشگرانه داده‌» (EDA) است.

بررسی مقادیر تکراری

تکنیک «بررسی مقادیر تکراری» (Checking Duplicate Values) برای شناسایی داده‌ها یا ردیف‌های تکراری در دیتاست به کار می‌رود.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

0    False
1    False
2     True
3    False
dtype: bool
1

مدیریت مقادیر تکراری در دیتاست

کتابخانه پانداس، کاربرد بسیار زیادی در داده کاوی در پایتون دارد. یکی از ابزارهای مفید این کتابخانه متد drop_duplicates()  است. از این متد برای پاک کردن ردیف‌های دیتاست استفاده می‌کنیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Name  Age
0    A   20
1    B   21
3    C   22

۵- تشخیص و مدیریت داده‌های پرت

«تشخیص و مدیریت داده‌های پرت» (Outlier Detection and Handling) یکی از مهم‌ترین مراحل قبل از اجرای عملیات تحلیل داده با پایتون است. جریان شدیدی از داده به سمت لوگوی پایتون در حرکت است و پایتون آن‌ها را به اطلاعات تبدیل کرده

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

روش IQR

در روش «IQR» یا «دامنه میان چارکی» (InterQuartile Range)، داده‌های پرت به عنوان مقادیری تعریف می‌شوند که کمتر از «Q1 - 1.5*IQR » یا بیشتر از «Q3 + 1.5*IQR» باشند.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Outliers:
    Values
4     100

متد Z-Score

این روش، داده‌های «پرت» (Outliers) مقادیری هستند که Z-score آن‌ها بزرگ‌تر از 3 یا کوچک‌تر از -3  است.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

Outliers:
 Empty DataFrame
Columns: [Values, Z_score]
Index: []

مدیریت داده‌های پرت

«مدیریت داده‌های پرت» (Handling Outliers) به این معناست که داده‌های پرت بسته به شرایط و نوع مسئله، یا حذف می‌شوند یا با روش «محدودسازی» (Capping) کنترل می‌گردند.

روشتوضیح
حذفحذف کامل رکوردهای پرت از مجموعه داده
محدودسازیجایگزین کردن مقادیر پرت با حداقل یا حداکثر مجاز

ابتدا در جدول بالا هر دو روش را به صورت مختصر و مفید توضیح داده‌ایم. سپس به منظور کمک به درک بهتر مطلب، با کمک مثال ساده‌ای هر دو روش را پیاده‌سازی کردیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

After Removing Outliers:
    Values
0      10
1      12
2      14
3      15

چطور با کمک پایتون نمودار رسم کنیم؟

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

در پایین، چند مورد از فیلم‌های این مجموعه آموزش را معرفی کرده‌ایم.

برای مشاهده سایر فیلم‌های این مجموعه آموزشی، می‌توانید بر روی تصویر زیر کلیک بکنید.

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

در بخش‌های بعد، روش مصور‌سازی داده با استفاده از کتابخانه‌های Matplotlib و Seaborn را بررسی می‌کنیم.

مصورسازی داده با استفاده از Matplotlib

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

  • رسم نمودارهای مختلف مانند نمودار خطی، نمودار میله‌ای، هیستوگرام و نمودار پراکندگی
  • کمک به شناسایی روندها، توزیع داده‌ها و داده‌های پرت
  • سازگاری و یکپارچگی مناسب با داده‌های NumPy و Pandas برای تحلیل و نمایش نتایج

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

نوع نمودارتابع ساختکاربرد اصلی
نمودار خطیplot()نمایش روند تغییرات داده‌ها در طول زمان یا توالی مشخص
نمودار میله‌ایbar()مقایسه مقادیر بین دسته‌های مختلف
هیستوگرامhist()نمایش توزیع داده‌ها
نمودار پراکندگیscatter()بررسی رابطه بین دو متغیر
نمودار جعبه‌ایboxplot()بررسی توزیع داده و شناسایی داده‌های پرت
نقشه حرارتی همبستگیcorr()نمایش میزان همبستگی بین متغیرها

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

تحلیل داده با پایتون توسط Pyplot

ماژول Pyplot در داخل کتابخانه Matplotlib تعبیه شده است. این ماژول رابط ساده‌ای برای ساخت و سفارشی‌سازی نمودارها فراهم می‌کند. از این ابزار برای ایجاد شکل‌، افزودن برچسب و نمایش تصویری داده‌ها استفاده می‌شود. در کادر زیر، نمونه‌ ساده‌ای از محور دو بعدی را رسم کرد‌ه‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

رابط ساده برای ساخت و سفارشی‌سازی نمودارها Pyplot یک ماژول از Matplotlib
استفاده از ماژول Pyplot در کتابخانه Matplotlib برای رسم نمودار ساده

تحلیل داده با پایتون توسط نمودار میله‌ای

«نمودار میله‌ای» (Bar Chart) یکی از پرکاربردترین انواع نمودارها برای مقایسه مقادیر بین دسته‌های مختلف است. در این نمودار، هر دسته با یک میله مستطیلی نمایش داده می‌شود و ارتفاع یا طول میله نشان‌دهنده مقدار آن دسته است.

  • برای مقایسه دسته‌های گسسته استفاده می‌شود.
  • می‌تواند به صورت عمودی یا افقی رسم شود.
  • طول یا ارتفاع هر میله نشان‌دهنده مقدار مربوط به آن دسته است.
  • با استفاده از متد bar()  ایجاد می‌شود.

در کادر پایین نمونه ساده‌ای از نمودار میله‌ای را برای بررسی دیتاست گل‌های زنبق در کتابخانه sklearn رسم کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

تحلیل داده با پایتون توسط نمودار میله‌ای
تحلیل داده با پایتون توسط نمودار میله‌ای - محور‌های افقی و عمودی این نمودار توسط کد بالا برچسب‌گذاری شده‌اند.

در فهرست زیر، مهم‌ترین مراحل کدهای بالا را نوشته‌ایم.

  1. ابتدا کتابخانه‌های matplotlib.pyplot
  2. و pandas  و مجموعه داده iris  از sklearn وارد می‌شوند.
  3. سپس مجموعه داده iris  بارگذاری می‌شود.
  4. بعد از آن، داده‌ها را در قالب DataFrame پانداس در متغیر df  قرار می‌دهیم.
  5. در ادامه، ستون target  را به DataFrame اضافه می‌کنیم تا کلاس هر نمونه مشخص باشد.
  6. سپس با value_counts  تعداد نمونه‌های هر کلاس را محاسبه کرده و در متغیر counts  ذخیره می‌کنیم.
  7. بعد از آن، با کمک plt.bar  نمودار میله‌ای رسم می‌کنیم.
  8. در این نمودار، کلاس‌ها روی محور افقی و تعداد نمونه‌های هر کلاس روی محور عمودی قرار می‌گیرند.
  9. در ادامه با استفاده از plt.title  عنوان نمودار و با متغیرهای plt.xlabel  و plt.ylabel  برچسب محورهای افقی و عمودی تعیین می‌شوند.
  10. در پایان، با plt.show()  نمودار روی صفحه نمایش داده می‌شود.

هیستوگرام

«هیستوگرام» (Histogram) برای نمایش توزیع داده‌ها استفاده می‌شود. این نمودار کار خود را با گروه‌بندی مقادیر در بازه‌هایی به نام bins انجام می‌دهد. در هیستوگرام، محور x بازه‌ها را نشان می‌دهد و محور y تعداد (فراوانی) مقادیر در هر بازه را نمایش می‌دهد.

  • برای درک توزیع داده‌ها استفاده می‌شود.
  • داده‌ها را به بازه‌های غیرهم‌پوشان bins  تقسیم می‌کند.
  • با استفاده از متد hist()  ایجاد می‌شود.

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

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

نمودار هیستوگرام برای بررسی مشخصات گل زنبق
نمودار هیستوگرام برای بررسی مشخصات گل زنبق

نمودار پراکندگی (Scatter Plot)

نمودارهای پراکندگی برای مشاهده رابطه بین متغیرها استفاده می‌شوند. این نمودار با استفاده از نقطه‌، ارتباط بین متغیر‌ها را نشان می‌دهد. از متد scatter()  در کتابخانه Matplotlib برای رسم نمودار پراکندگی استفاده می‌کنیم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

نمونه‌ای از ساخت نمودار پراکندگی توسط کتابخانه Matplotlib
نمونه‌ای از طراحی نمودار پراکندگی توسط کتابخانه Matplotlib - این نمودار‌ها بر روی دیتاست‌های موجود در کتابخانه sklearn اجرا می‌شوند.

مراحل اجرای کدهای بالا را در فهرست پایین نوشته‌ایم.

  1. ابتدا ماژول matplotlib.pyplot  و کتابخانه pandas  و مجموعه داده iris  از sklearn  را به محیط برنامه نویسی ایمپورت می‌کنیم.
  2. برای وارد کردن مجموعه داده iris  باید از تابع load_iris()  استفاده کنیم.
  3. بعد از آن، داده‌ها در قالب یک DataFrame پانداس در متغیر df  قرار می‌گیرند.
  4. در ادامه، ستون species  به DataFrame اضافه می‌شود تا نوع هر نمونه مشخص باشد.
  5. سپس با plt.scatter  نمودار پراکندگی را رسم می‌کنیم.
  6. در این نمودار، «طول کاسبرگ» (Sepal Length) روی محور افقی و عرض کاسبرگ (Sepal Width) روی محور عمودی قرار می‌گیرد.
  7. هر نقطه در نمودار، نمونه‌ای از مجموعه داده iris  را نمایش می‌دهد.
  8. در ادامه، با متد plt.title  عنوان نمودار را تعیین می‌کنیم.
  9. با کمک توابع plt.xlabel  و plt.ylabel  نیز برچسب محورهای افقی و عمودی را مشخص می‌کنیم.
  10. در پایان، با کمک دستور plt.show()  نمودار روی صفحه نمایش داده می‌شود.

«نمودار جعبه‌ای» (Box Plot)

«نمودار جعبه و خط» (Box and Whisker Plot) برای نمایش توزیع داده‌ها و شناسایی داده‌های پرت استفاده می‌شود. این نمودار از چارک برای خلاصه‌سازی داده‌ها کمک می‌گیرد.

  • مقدار حداقل در سمت چپ نمودار و در انتهای «خط» (Whisker) چپ نشان داده می‌شود.
  • چارک اول (Q1) در سمت چپ جعبه قرار دارد (لبه چپ جعبه یا Whisker چپ).
  • میانه (Median) به صورت خط در وسط جعبه نمایش داده می‌شود.
  • چارک سوم (Q3) در سمت راست جعبه قرار دارد (لبه راست جعبه یا Whisker راست).
  • مقدار حداکثر در سمت راست نمودار قرار دارد.

در کادر پایین مثال ساده‌ای از نمودار جعبه‌ای را پیاده‌سازی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

نمونه‌ای از نمودار جعبه‌ای ساده
نمونه‌ای از نمودار جعبه‌ای ساده

نقشه حرارتی همبستگی

«نقشه حرارتی همبستگی» (Correlation Heatmap) ابزاری برای نمایش رابطه بین متغیرها است. این نمودار از رنگ‌ها برای نشان دادن میزان همبستگی استفاده می‌کند. نقشه حرارتی بر پایه ماتریس همبستگی ساخته می‌شود. در این ماتریس، هر خانه میزان ارتباط بین دو متغیر را نشان می‌دهد.

  • از رنگ‌ها برای نمایش مقدار همبستگی از -1  تا +1 استفاده می‌کند.
  • به شناسایی الگوها، روابط و وابستگی‌ها کمک می‌کند.
  • برای محاسبه ماتریس همبستگی از متد corr()  استفاده می‌کنیم.
  • شدت رنگ نشان‌دهنده قدرت رابطه است.
  • فقط با داده‌های عددی کار می‌کند.

در کادر پایین، نمونه ساده‌ای از نقشه حرارتی همسبتگی را پیاده‌سازی کرده‌ایم.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

نقشه حرارتی همبستگی
نمونه ساده‌ای از نقشه حرارتی همبستگی که توسط کتابخانه «matplotlib»‌ پیاده‌سازی شده است.

در فهرست زیر روند اجرای کدهای بالا را مرحله‌به‌مرحله نوشته‌ایم.

  1. ابتدا ماژول matplotlib.pyplot  و کتابخانه pandas  و مجموعه داده iris  از sklearn  را به محیط برنامه نویسی ایمپورت می‌کنیم.
  2. برای وارد کردن مجموعه داده iris  باید از تابع load_iris()  استفاده کنیم.
  3. بعد از آن، داده‌ها در قالب یک DataFrame پانداس در متغیر df  قرار می‌گیرند.
  4. در ادامه، با کمک تابع df.corr()  ماتریس همبستگی را بین ستون‌های عددی محاسبه کرده و در متغیر corr  ذخیره می‌کنیم.
  5. سپس با دستور plt.imshow  ماتریس همبستگی را به صورت نقشه حرارتی نمایش می‌دهیم.
  6. پارامتر cmap='autumn'  رنگ‌بندی نمودار را مشخص می‌کند و interpolation='nearest'  نحوه نمایش خانه‌ها را تعیین می‌کند.
  7. بعد از آن، با متد plt.title  عنوان نمودار را تنظیم می‌کنیم.
  8. با کمک متد plt.colorbar()  نیز نوار رنگی نمایش داده می‌شود. با استفاده از این نوار مقدار همبستگی هر رنگ مشخص می‌شود.
  9. در ادامه، با دستورهای plt.xticks  و plt.yticks  نام ستون‌ها را روی محورهای افقی و عمودی قرار می‌دهیم.
  10. در پایان، با دستور plt.show() نقشه حرارتی را روی صفحه نمایش می‌دهیم.

مصورسازی داده با استفاده از Seaborn

Seaborn کتابخانه‌ای سطح بالا است که برای مصورسازی داده‌ها در پایتون به کار برده می‌شود. این کتابخانه بر پایه Matplotlib ساخته شده است.Seaborn نمودارهای آماری را با ظاهری زیباتر و اطلاعات بیشتر نمایش می‌دهد.

  • استایل‌های آماده و قالب‌های گرافیکی متنوعی دارد.
  • ساخت مصورسازی‌های پیچیده را ساده می‌کند.
  • به طور مستقیم با DataFrame-های Pandas کار می‌کند.

در کادر پایین، نمونه‌ساده‌ای از نمودار‌های ساخته شده توسط کتابخانه seaborn را نمایش داده‌ایم. در این نمودار، «طول کاسبرگ» (Sepal Length) روی محور افقی و «عرض کاسبرگ» (Sepal Width) روی محور عمودی قرار گرفته است.

بعد از اجرای کدهای بالا خروجی به صورت زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

مصورسازی داده با استفاده از Seaborn
مصورسازی داده با استفاده از Seaborn - این کتابخانه نمای گرافیکی زیبا‌تر و جذاب‌تری دارد.

جمع‌بندی

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

در ادامه، مهم‌ترین ابزارهای پایتون برای تحلیل داده معرفی می‌شوند. کتابخانه Pandas برای خواندن، مدیریت و پردازش داده‌های ساختاریافته و کتابخانه NumPy برای انجام محاسبات عددی سریع و کار با آرایه‌ها مورد بررسی قرار می‌گیرند. مطلب همچنین مراحل تحلیل کاوشگرانه داده‌ (EDA) مانند بررسی ساختار داده‌ها، فیلتر کردن، مرتب‌سازی، گروه‌بندی، مدیریت داده‌های گمشده، حذف مقادیر تکراری و شناسایی داده‌های پرت را آموزش می‌دهد. در پایان نیز روش‌های مصورسازی داده با Matplotlib و Seaborn معرفی می‌شوند تا الگوها، روندها و روابط موجود در داده‌ها به شکل بصری قابل مشاهده و تحلیل باشند.

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
GeeksforGeeksReal PythonEPA
PDF
مطالب مرتبط
نظر شما چیست؟

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