تحلیل داده (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 بیشتر می بینی.
گام های عملی برای تحلیل سریع داده
- فایل
data.csvرا از منبع دانلود کن و در پوشه پروژه قرار بده. - در پایتون، با
read_csv()فایل را در یک DataFrame لود کن. - با
head(10)وtail()چند ردیف اول و آخر را ببین. - متد
info()را صدا بزن و تعداد ردیف ها، ستون ها و Null ها را بررسی کن. - ستونی را که مقدار خالی دارد پیدا کن و برای پاکسازی آن به بخش پاکسازی داده با pandas سر بزن.
جمع بندی سریع
head()برای دیدن ردیف های اول DataFrame استفاده می شود.tail()چند ردیف آخر جدول را نشان می دهد.info()تعداد ردیف ها، ستون ها و نوع داده هر ستون را می گوید.- اختلاف بین تعداد ردیف ها و Non-Null یعنی مقدارهای خالی داریم.
- شناسایی مقدارهای خالی اولین قدم در پاکسازی و تحلیل داده است.