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

Custom Modifications

الدرس 13 من 19 في دورة Pandas Analytics على 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)

لمعرفة المزيد عن الفرق بينهما، يمكنك القراءة هنا.

 

challenge icon

التحدي

سهل

يحتوي ملف 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 Analytics