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

شکل 1: مرتب‌سازی داده‌ها با پایتون
شکل 1: مرتب‌سازی داده‌ها با پایتون


منتشر‌شده در towardsdatascience به تاریخ 24 ژانویه 2021
لینک منبع: Simple Guide to Data Cleaning with Python

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

در این مقاله، قصد دارم برخی از توابع پایتون را که می‌توانند به ما در مرتب کردن داده‌ها به‌خصوص در موارد زیر کمک کنند، به اشتراک بگذارم:

  • حذف ستون بلااستفاده
  • حذف موارد تکراری
  • ترسیم داده‌ها
  • مقابله با داده‌های null


آغاز کار

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

شکل ۲:  نتیجه ()df.head
شکل ۲: نتیجه ()df.head


دستور ()df.head پنج ردیف اول از مجموعه داده را نمایش خواهد داد، شما می‌توانید به‌سرعت با استفاده از این تابع نگاهی به مجموعه داده بیاندازید.


حذف ستون استفاده‌نشده

بر اساس مشاهدات ما، یک ستون Unnamed: 13 نامعتبر / تهی وجود دارد که نیازی به آن نداریم. می‌توانیم با استفاده از تابع زیر آن را حذف کنیم. اگر می‌خواهید چند ستون را حذف کنید، یک آرایه برای عبور در پارامتر ستون مورد نیاز است.

تابع inplace = True این عملیات را به‌طور مستقیم بر روی خود قسمت داده انجام خواهد داد، به‌طور پیش‌فرض یک کپی دیگر ایجاد خواهد کرد و شما باید آن را دوباره به قسمت داده مانند (df = df.drop(columns="Unnamed: 13" اختصاص دهید.


حذف موارد تکراری

بیایید با استفاده از این تابع، [(df[df.duplicated(keep=False موارد تکراری را در این مجموعه داده بررسی کنیم.

df[df.duplicated(keep=False)] کل ۳: نتیجه
df[df.duplicated(keep=False)] کل ۳: نتیجه


کلمه Keep به چند مؤلفه اجازه می‌دهد تا بر موارد تکراری را بررسی کنند.

  • مولفه First: به‌جز در مورد رویداد اول، سایر موارد تکراری را به‌عنوان True نشان دهید.
  • مولفه Last: به‌جز در مورد رویداد آخر، سایر موارد تکراری را به‌عنوان True نشان دهید.
  • مولفه False: همه نسخه‌های تکراری را به‌عنوان True علامت‌گذاری کنید.

در این مورد، من دوست دارم همه موارد تکراری را نشان دهم، بنابراین False به‌عنوان پارامتر تصویب می‌شود. اکنون ما دیده‌ایم که در این مجموعه داده تکراری وجود دارد، من می‌خواهم آن‌ها را حذف کنم و تنها اولین رویداد را حفظ کنم. تابع زیر برای حفظ مورد اول استفاده می‌شود : ("df = df.drop_duplicates(keep="first

ما می‌توانیم از (len(df یا [(df[df.duplicated(keep=False برای بررسی این‌که آیا این موارد تکراری حذف شده‌اند یا نه استفاده کنیم. عبارت [(df[df.duplicated(keep=False در صورت حذف موارد تکراری صفر را خواهد برگرداند.


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

شکل ۴: ترسیم داده
شکل ۴: ترسیم داده


با کمک df ["Sex"]. unique و ()df ["Sex"]. hist ، متوجه شدیم که مقادیر دیگری مانند m ،m و F نیز در این ستون وجود دارد.

این ممکن است به دلیل ورودی اشتباه از منبع داده باشد و ما باید فرض کنیم که این مقادیر صحیح هستند و به male یا female نگاشت می‌شوند.

df["Sex"] = df["Sex"].map({
"male": "male",
"m": "male",
"m ": "male",
"M": "male",
"F": "female",
"f": "female",
"female": "female"
})

تابع بالا برای نگاشت این مقادیر به male یا female استفاده می‌شود.

نکته: لطفاً اطمینان حاصل کنید که مقادیر پیش‌فرض male و female در ترسیم داده گنجانده شده‌اند، در غیر این صورت پس از ترسیم به nan تبدیل خواهند شد.


مقابله با داده‌های صفر

شکل ۵: داده‌های null
شکل ۵: داده‌های null


در این ستون، سه مقدار ازدست‌رفته یعنی -، na و NaN وجود دارد. کتابخانه Pandas عبارات - و na را به‌عنوان null یا صفر تشخیص نمی‌دهد. ما باید قبل از پرداختن به آن‌ها، آن‌ها را با صفر جایگزین کنیم.

عبارت ()replace برای جایگزین کردن - و na برای صفر به کار می‌رود.

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

حال که ما آن‌ها را با مقادیر صفر جایگزین کرده‌ایم، چگونه می‌توانیم با این مقادیر ازدست‌رفته کار کنیم؟

  • راه‌حل اول: observation (ردیف) / feature (ستون) را حذف کنید.

اگر مطمئن باشیم که داده‌های ازدست‌رفته مفید نیستند یا داده‌های ازدست‌رفته تنها بخش کوچکی از داده‌ها هستند، می‌توانیم ردیف‌هایی که حاوی مقادیر ازدست‌رفته هستند را حذف کنیم.

در آمار ، این روش حذف listwise نامیده می‌شود، این روشی برای مدیریت داده‌های ازدست‌رفته است.

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

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

  • راه‌حل دوم: مقادیر گم‌شده را نسبت (مقداردهی) دهید.

این به معنای محاسبه مقادیر ازدست‌رفته بر اساس داده‌های دیگر است. برای مثال، می‌توانیم مقادیر ازدست‌رفته را برای سن با تاریخ تولد محاسبه کنیم.

در این مورد، ما تاریخ تولد را نداریم، می‌توانیم مقادیر ازدست‌رفته را با میانگین یا میانه (حالت برای مقدار طبقه‌بندی) داده‌ها جایگزین کنیم.

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

بیایید از میانه برای جایگزین کردن مقدار ازدست‌رفته در این مورد استفاده کنیم.

شکل ۶: استفاده از میانه برای مرتب‌سازی داده‌ها
شکل ۶: استفاده از میانه برای مرتب‌سازی داده‌ها


عبارت df["Age"].median برای محاسبه میانه داده‌ها استفاده می‌شود درحالی‌که fillna برای جایگزینی مقدار ازدست‌رفته با میانه استفاده می‌شود.

اکنون شما نحوه مرتب کردن داده‌ها در پایتون با کتابخانه pandas را می‌دانید. امیدوارم که این مقاله برای شما مفید واقع شود.

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