القيم المفقودة
جزء من قسم البيانات والرسوم البيانية في رحلة Machine Learning على Coddy. الدرس 45 من 60.
تحتوي البيانات الحقيقية على فجوات: يتعطل مستشعر، أو يفوت أحدهم اختبارًا. يضع pandas العلامة NaN في كل خلية فارغة، وتعني «ليس رقمًا»:
ترفض معظم النماذج القيم NaN، لذا احسب القيم المفقودة أولًا. تحدد .isna() كل قيمة منها على أنها True، وتحسبها .sum():
scores = pd.DataFrame({
"name": ["Ana", "Ben", "Cy", "Dee"],
"quiz1": [8, np.nan, 7, 9], # np.nan قيمة مفقودة
"quiz2": [6, 5, np.nan, np.nan],
})
print(scores.isna().sum())يطبع هذا:
name 0
quiz1 1
quiz2 2
dtype: int64ثم اختر: dropna() يحذف كل صف يحتوي على قيمة مفقودة؛ أما fillna(0) فيكتب 0 في كل منها. يُعيد كلاهما جدولًا جديدًا، لذا خزّنه.
تتجاهل الإحصاءات NaN: متوسط quiz1 هو 8.0، محسوبًا من درجاته الثلاث المعروفة.
التحدي
متوسطفات جهاز تتبع اللياقة بعض القراءات في tracker.csv. قبل التدريب، تعرّف على كيفية تأثير كل طريقة لمعالجة القيم المفقودة في متوسط sleep. يقرأ البرنامج التمهيدي hours، وهي قيمة الملء.
- اطبع القيم المفقودة في كل عمود.
- اطبع متوسط النوم، مقربًا إلى منزلتين عشريتين، بثلاث طرق: مع تجاهل القيم المفقودة، وعلى الأيام التي لا توجد فيها قيمة مفقودة في أي عمود، ومع ملء القيم المفقودة بـ
hours.
لجهاز تتبع آخر ومع 8:
day 0
steps 1
sleep 2
water 0
dtype: int64
Skipping gaps: 6.9
Complete days only: 7.0
Gaps filled with 8.0: 7.21جرّب بنفسك
import pandas as pd
tracker = pd.read_csv("tracker.csv")
hours = float(input())
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البيانات والرسوم البيانية
5المخططات الخطية والمبعثرة
التسميات والعناوينالمخططات المبعثرةخطوط متعددة ووسائل الإيضاحالألوان والعلاماتالأشكال والمحاورمراجعة: الخطوات الأسبوعية11مجموعات البيانات لتعلم الآلة
مجموعات البيانات المدمجةالسمات والتسمياتاستكشاف البيانات حسب الفئةرسم الفئاتمراجعة: مجموعة بيانات النبيذتدرّب بنفسك: مترجم Python عبر الإنترنت