TGViewer
مدرسه دقیقه مدرسه دقیقه @dlearn_ir · 4.57K subscribers
Post #587 1.42K
↗️پاک‌سازی داده‌ها با پانداس (Pandas)

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

فرایند پاکسازی معمولا این چند مرحله است:
+ تغییر نام ستون‌ها
+ تغییر جنس ستون‌ها
+ مشاهده و حذف داده‌های تکراری
+ حذف داده‌های حاوی NaN
+ حذف سطر و ستون

⬇️تغییر نام ستون‌ها

DataFrame.rename(columns = {dict}, inplace = True)

عبارت columns: یک دیکشنری که نام فعلی ستون‌ها Key و نام جدید آنها Valueهای این دیکشنری هستند.
عبارت inplace: بیان می‌کند که این تغییرات بلافاصله بر روی DataFrame فعلی و بدون نیاز به یک کپی از آن انجام شود (True) یا خیر (False).

🔴تغییر نوع ستون‌ها

#بررسی نوع ستون‌ها
print(provincesDF.dtypes)

'''
province object
center object
region float64
population float64
area float64
dtype: object
'''
#تغییر نوع ستون انتخابی
provincesDF['region'] = provincesDF['region'].astype(str)

print(provincesDF.dtypes) #خروجی

'''
province object
center object
region object
population float64
area float64
dtype: object
'''


🟡مشاهده داده‌های تکراری
برای پی‌بردن به اینکه آیا DataFrame حاوی سطری تکراری است، از تابع زیر استفاده می‌شود:

DataFrame.duplicated(keep = ['first', 'last'])


این تابع یک لیست حاوی مقادیر Boolean و به‌اندازه تعداد سطرها برمی‌گرداند. به هر‌سطری که تکراری باشد مقدار True نسبت داده می‌شود. دقت داشته باشید که دو سطر درصورتی تکرار هم درنظرگرفته می‌شوند، که در تمامی ستون‌ها مقادیر آنها دقیقا مشابه یکدیگر باشد.

عبارت keep: فرض کنید که دوسطر i و j تکراری باشند و i قبل از j قرار گرفته باشد. درصورتی‌که 'keep = 'first باشد، Pandas سطر i را نگه‌داشته و سطر j را تکراری اعلام می‌کند. درصورتی که 'keep = 'last باشد، برعکس این اتفاق رخ می‌دهد و سری i تکراری درنظر گرفته می‌شود.

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

DataFrame.drop_duplicates(inplace, keep = ['first','last'])


این تابع یک لیست حاوی مقادیر Boolean و به‌اندازه تعداد سطرها برمی‌گرداند. به هر‌سطری که تکراری باشد مقدار True نسبت داده می‌شود. دقت داشته باشید که دو سطر درصورتی تکرار هم درنظرگرفته می‌شوند، که در تمامی ستون‌ها مقادیر آنها دقیقا مشابه یکدیگر باشد.
عبارت inplace: یک مقدار Boolean که مشخص می‌کند که عمل حذف بر روی خود DataFrame انجام شود ('inplace = 'True) و یا DataFrame بدون تغییر مانده و عمل حذف بر روی یک کپی از آن اعمال شود ('inplace = 'False). مقدار پیش‌فرض برابر با False است.
عبارت keep: بیان می‌کند که از اعضای تکراری، مورد اول ('first') و یا مورد آخر('last') نگه‌داشته شوند.

🟠 کشف و مشاهده داده‌های ناموجود
در مرحله اول باید بررسی کنیم که آیا DataFrame حاوی مقدار Null است یا خیر. برای این‌ امر از تابع ()isnull استفاده می‌کنیم:

DataFrame.isnull()


خروجی این تابع یک DataFrame به اندازه‌ی DataFrame اصلی است که محتوای آن مقادیر True/False می‌باشد. اگر مقدار خانه‌ای برابر با True باشد، به این معنی است که خانه‌ی متناظر در DataFrame اصلی حاوی مقدار Null است.

🟢 حذف داده‌های ناموجود
ساده‌ترین رویکرد برخورد با داده‌های ناموجود، حذف سطرها و یا ستون هایی است که حداقل در یکی از خانه‌ها مقداری ندارند. Pandas برای این روش از تابع ()dropna استفاده می‌کند:

DataFrame.isnull(inplace, axis = {0,1})


عبارت inplace: یک مقدار Boolean که مشخص می‌کند که عمل حذف بر روی خود DataFrame انجام شود ('inplace = 'True) و یا DataFrame بدون تغییر مانده و عمل حذف بر روی یک کپی از آن اعمال شود ('inplace = 'False). مقدار پیش‌فرض برابر با False است.
عبارت axis: درصورتی که 0 باشد بیانگر حذف سطر و 1 بیانگر حذف ستون است. مقدار پیش‌فرض آن برابر با 0 (حذف سطر) است.

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

💡 این آموزش بخشی از درسنامه پردازش و تبدیل داده با پانداس pandas که از بخش درسنامه‌ها می‌توانید از آن استفاده کنید.

➖➖👇➖➖
همچنین اگر علاقه‌مند به یادگیری مهارت‌های پردازش و تحلیل داده‌های حجیم در پایتون هستید، دوره آموزشی پردازش بهینه با pandas و polars برای شما طراحی شده‌است.

🙂 کد تخفیف 30% برای پرداخت کامل: Fvxp30
🙂 کد تخفیف 20% برای پرداخت قسطی: VxpF20

⭐ اعتبار کدهای تخفیف تا ۱۴ اردیبهشت ۱۴۰۴

لینک ثبت‌نام:
🔗 d-learn.ir/pyps

تماس:
📱 t.me/dlearnsup
📞 02188349244
📲 09103209837

@dlearn_ir
More from @dlearn_ir
  1. Oct 12, 2026شبکه‌های عصبی عمیق با الهام از ساختار مغز انسان طراحی شده‌اند و با استفاده از لایه‌های متع…
  2. Oct 12, 2026مدرسه دقیقه pinned a photo
  3. Oct 12, 2026🔻#فرصت_شغلی مسئول بازاریابی محتوا، پشتیبانی و فروش در مدرسه پردازش و تحلیل داده دقیقه مدر…
  4. Oct 10, 2026🔄 به‌روزرسانی 🔖 داده‌های داوطلبان کنکور سراسری کارشناسی به تفکیک رشته و جنسیت (۱۳۸۱ تا ۱…
  5. Oct 10, 2026امروزه #علوم_داده و #هوش_مصنوعی به یکی از مهم‌ترین حوزه‌های فناوری تبدیل شده‌اند و تسلط بر…
  6. Oct 7, 2026🎃 شروع فصل یادگیری با یک پیشنهاد جذاب تمامی دوره‌های آموزشی مدرسه پردازش و تحلیل داده دقی…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →