تعديلات مخصصة
الدرس 13 من 19 في دورة تحليلات Pandas على Coddy.
لإجراء تعديل مخصص، استخدم الطريقة .apply وقم بتزويدها بـ lambda أو function. على سبيل المثال، لإيجاد مربع كل رقم في عمود:
df['num_squared'] = df['num'].apply(lambda x: x**2)يمكن تحقيق ذلك أيضًا عن طريق ضرب العمود نفسه في نفسه:
df['num_squared'] = df['num'] * df['num']لإضافة 2 إلى قيمة كل صف:
df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2لاستبدال كل قيمة في Series بقيمة أخرى، استخدم الطريقة .map وقم بتزويدها بدالة (function) أو قاموس (dictionary) أو Series.
على سبيل المثال، إذا أردنا استبدال أسماء الفاكهة بقيم عددية:
fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)يمكن لكل من .map و .apply قبول الدوال (functions):
df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)لمعرفة المزيد عن الفرق بينهما، يمكنك القراءة هنا.
التحدي
سهليحتوي ملف CSV المسمى stats.csv على معلومات حول الإحصائيات.
فيما يلي أول 5 أسطر من الملف:
ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE- استبدل قيم
CATEGORYبـ:{"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}. - أنشئ عموداً جديداً باسم
SKILL_MASTERY. قم بملء هذا العمود باستخدام الصيغة التالية: اضرب القيم الموجودة في العمودينSKILL_POINTSوUTILIZATION. إذا كانت النتيجة أكبر من5، فاقسمها على 4؛ وإلا، فاقسمها على2. أخيراً، أضف القيمة الموجودة في العمودIS_VALIDإلى النتيجة. - قم بفرز النتيجة بترتيب تصاعدي وفقاً لـ
SKILL_MASTERY.
قم بتخزين النتيجة في المتغير df.
جرّب بنفسك
# تم استيراد pandas كـ pd بالفعل
df = pd.read_csv("./stats.csv")
# اكتب كودك أدناه
جميع دروس تحليلات Pandas
4تحليل البيانات باستخدام Pandas
الإحصاء الوصفيتجميع البيانات وتلخيصهاأنواع التجميع المختلفةالدمج والضم3معالجة البيانات باستخدام Pandas
إرجاع النتيجة المطلوبةتصفية البياناتالإضافة والحذفتعديل البياناتتعديل السلاسل النصيةتعديلات مخصصةتدرّب بنفسك: مترجم Python عبر الإنترنت