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()التحدي
سهلملف 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
4Data Analysis with Pandas
Descriptive StatisticsGrouping and Aggregating DataDifferent AggregationsMerge & Concat2Working with the DataFrame
Understanding DataFramesAccessing DataData Cleaning - Missing dataData Cleaning - More tools3Data Manipulation with Pandas
Return Requested ResultFilter DataAdd & DeleteModify DataModify StringsCustom Modifications