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)لمعرفة المزيد عن الفرق بينهما، يمكنك القراءة هنا.
التحدي
سهليحتوي ملف 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
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