Pandas

Pandas — تحلیل داده (Analyzing Data)

آخرین بروزرسانی: 1404/08/28

تحلیل داده (Analyzing Data)

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

نمایش سریع داده با head() و tail()

یکی از پرکاربردترین متدها برای دیدن نمای کلی، متد head() است. این متد اسم ستون ها و چند ردیف اول را برمی گرداند. این کار مثل نگاه اول به برگه نمرات در مدرسه است.

در منبع، داده ها از فایل data.csv خوانده می شوند. بعد با head(10) ده ردیف اول را چاپ می کند تا تصویر خوبی از داده داشته باشیم.

import pandas as pd

df = pd.read_csv("data.csv")

print(df.head(10))

مشاهده در ادیتور

نکته: اگر تعداد ردیف ها را مشخص نکنی، یعنی فقط head() بنویسی، به صورت پیش فرض 5 ردیف اول نمایش داده می شود. این نکته در همان منبع تأکید شده است.

import pandas as pd

df = pd.read_csv("data.csv")

print(df.head())

مشاهده در ادیتور

متد tail() هم برای دیدن چند ردیف آخر استفاده می شود. خروجی آن هم شامل نام ستون ها و ردیف های پایانی است. این کمک می کند بفهمی انتهای داده چه خبر است.

print(df.tail())

مشاهده در ادیتور

در منبع، دوباره یادآوری شده که از همان فایل data.csv استفاده می شود و حتی لینک دانلود و باز کردن آن در مرورگر هم داده شده است.

گرفتن اطلاعات کلی با info()

شیء DataFrame یک متد مهم به نام info() دارد. این متد اطلاعات کلی درباره جدول می دهد؛ مثل تعداد ردیف ها، تعداد ستون ها، نوع داده ستون ها و تعداد مقدارهای خالی نبودن (Non-Null).

print(df.info())

مشاهده در ادیتور

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


  RangeIndex: 169 entries, 0 to 168
  Data columns (total 4 columns):

بعد، نام هر ستون، تعداد مقدارهای غیرخالی و نوع داده آن ستون را می بینی. این بخش شبیه این متن است:


   #   Column    Non-Null Count  Dtype  
  ---  ------    --------------  -----  
   0   Duration  169 non-null    int64  
   1   Pulse     169 non-null    int64  
   2   Maxpulse  169 non-null    int64  
   3   Calories  164 non-null    float64

در انتهای خروجی، انواع داده و مقدار تقریبی حافظه استفاده شده هم نشان داده می شود. این برای شروع تحلیل داده با pandas خیلی کاربردی است.

تشخیص مقدارهای خالی با info()

متد info() عدد Non-Null را برای هر ستون نشان می دهد. در مثال منبع، ستون Calories فقط 164 مقدار غیرخالی دارد، در حالی که جدول 169 ردیف دارد.

یعنی 5 ردیف در ستون Calories مقدار ندارند و خالی هستند. منبع اشاره می کند که این ردیف ها در تحلیل ممکن است مشکل ساز باشند و باید به فکر پاک سازی باشی.

به این مقدارهای خالی، در تحلیل داده، مقدارهای Null یا Empty گفته می شود. حذف یا اصلاح این مقدارها بخشی از «پاکسازی داده» است؛ موضوعی که در بخش پاکسازی داده با pandas بیشتر می بینی.

گام های عملی برای تحلیل سریع داده

  1. فایل data.csv را از منبع دانلود کن و در پوشه پروژه قرار بده.
  2. در پایتون، با read_csv() فایل را در یک DataFrame لود کن.
  3. با head(10) و tail() چند ردیف اول و آخر را ببین.
  4. متد info() را صدا بزن و تعداد ردیف ها، ستون ها و Null ها را بررسی کن.
  5. ستونی را که مقدار خالی دارد پیدا کن و برای پاکسازی آن به بخش پاکسازی داده با pandas سر بزن.

جمع بندی سریع

  • head() برای دیدن ردیف های اول DataFrame استفاده می شود.
  • tail() چند ردیف آخر جدول را نشان می دهد.
  • info() تعداد ردیف ها، ستون ها و نوع داده هر ستون را می گوید.
  • اختلاف بین تعداد ردیف ها و Non-Null یعنی مقدارهای خالی داریم.
  • شناسایی مقدارهای خالی اولین قدم در پاکسازی و تحلیل داده است.