Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

Data Cleaning - Missing data

الدرس 6 من 19 في دورة Pandas Analytics على Coddy.

عادةً ما تحتوي ملفات CSV على بيانات مفقودة، وأسماء أعمدة غير صحيحة، وتكرارات، وقيم غير صحيحة، وأنواع بيانات غير صحيحة. تحتوي وحدة Pandas على جميع الأدوات للتعامل مع هذه المشكلات.

البيانات المفقودة

لمعرفة ما إذا كانت القيمة مفقودة أم لا:

df.isna()

لمعرفة عدد القيم المفقودة في كل عمود:

df.isna().sum()

تقوم الدالة isna() بتحويل جميع القيم إلى true أو false (مفقودة أم لا)، ثم يتم التطبيق. ستعامل sum() القيمة true كـ 1 و false كـ 0.

للتكرار عبر الأعمدة وعدد القيم المفقودة فيها، استخدم التابع items() تماماً كما هو الحال في القاموس (على الرغم من أنه كائن Pandas series):

for column, missing_num in df.isna().sum().items():
	print(column, missing_num)

لتعبئة كل تلك القيم المفقودة لإطار البيانات (dataframe) بالكامل، استخدم التابع fillna():

df = df.fillna("some value")

لتعبئة القيم المفقودة لعمود واحد فقط، استخدم الدالة fillna() على العمود:

df["some_column"] = df["some_column"].fillna("some value")

هناك أيضاً خيار لإزالة جميع الصفوف التي تحتوي على قيم مفقودة:

df = df.dropna()
challenge icon

التحدي

سهل

ملف CSV المسمى missing.csv غير منظم.

إليك أول 5 أسطر من الملف:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0

قم بتنظيف البيانات:

  • قم بتعبئة القيم المفقودة في جميع الأعمدة التي تحتوي على أكثر من 2 من القيم المفقودة بالقيمة "Missing"
  • قم بإزالة جميع الصفوف المتبقية التي تحتوي على قيم مفقودة.

لمتابعة تقدمك، قم بطباعة df: print(df)

قم بتخزين النتيجة النهائية في المتغير df.
لا تقم بطباعة df لاجتياز حالة الاختبار!

جرّب بنفسك

# تم استيراد pandas as pd بالفعل
df = pd.read_csv("./missing.csv")
# اكتب الكود الخاص بك أدناه

جميع دروس Pandas Analytics