اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ورحمة الله وبركاته

جمعة طيبه

لدي هذا الكود و أحاول أن أطبق عليه فكرة لاكن لم أستطع تطبيقها

import pandas as pd
df = pd.read_excel("2018.xlsx",header=None)
data  = { 'رقم القيد': df.iloc[3::, 5], 'عربي': df.iloc[3::, 9], 'إنجليزي': df.iloc[3::, 10], 'تاريخ': df.iloc[3::, 11] }
df1 = pd.DataFrame(data)
melted_df = pd.melt(df1, id_vars=['رقم القيد'], var_name='المادة', value_name='الدرجة')
melted_df = melted_df.sort_values(by=['المادة'])
melted_df.to_excel("002.xlsx")

الفكرة التي حاولت تطبيقها 

أريد أن أجعل عمود جديد به رمز المادة فالنتيجة عند تطبيق الكود السابق بهذا الشكل

image.png.d5e286a8734f4705b0ea0eb5c099899b.png

كيف نظيف رمز المادة بحيث تأخذ كل مادة رمزها

Recommended Posts

  • 0
نشر (معدل)

وعليكم السلام ورحمة الله وبركاته،

يبدو أن المطلوب إضافة عمود يحتوي على A إذا كانت المادة عربي، ويحتوي على E إذا كانت إنجلزي وهكذا،

في هذه الحالة يمكن استخدام السطر التالي

melted_df['رمز المادة'] = melted_df['المادة'].str.replace('عربي', 'A').replace('إنجليزي', 'E').replace('تاريخ', 'H')

يضاف قبل السطر الأخير

ومعناه إنشاء عمود رابع يسمى "رمز المادة"، وتكون قيمته تعتمد على قيمة العمود "المادة" بحيث يعطي لكل مادة رمزًا لها.

يجب مراعاة أن اسم المادة لا يتغير في الأماكن المختلفة بمعني لا يكون في خانة اسمها "عربي" وخانة أخرى اسمها "لغة عربية" أو "العربية"

أرجو التجربة.

تم التعديل في بواسطة El Sayed El Tohamy

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...