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

DataFrame جمع عمود

Ahmed Ahmed64

السؤال

Recommended Posts

  • 0

يمكنك ذلك باستخدام مكتبة pandas في Python لتنفيذ هذه العملية، سأكتب لك كود كمثال لتفهم أكثر:

import pandas as pd

# قم بتعريف DataFrame الخاص بك
data = {'Column1': [1, 2, 3, 4],
        'Column2': [5, 6, 7, 8],
        'Column3': [9, 10, 11, 12]}

df = pd.DataFrame(data)

إذا أردت جمع قيم Column1 وتقسيمها على قيم Column2، يمكنك استخدام الكود التالي:

# جمع قيم Column1
sum_column1 = df['Column1'].sum()

# جمع قيم Column2
sum_column2 = df['Column2'].sum()

# تقسيم النتيجة
result = sum_column1 / sum_column2

print(result)

هذا سيعطيك النتيجة المطلوبة. يمكنك تعديل الأعمدة والبيانات وفقا لاحتياجات DataFrame الخاص بك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 دقائق مضت قال Chihab Hedidi:

يمكنك ذلك باستخدام مكتبة pandas في Python لتنفيذ هذه العملية، سأكتب لك كود كمثال لتفهم أكثر:

import pandas as pd

# قم بتعريف DataFrame الخاص بك
data = {'Column1': [1, 2, 3, 4],
        'Column2': [5, 6, 7, 8],
        'Column3': [9, 10, 11, 12]}

df = pd.DataFrame(data)

إذا أردت جمع قيم Column1 وتقسيمها على قيم Column2، يمكنك استخدام الكود التالي:

# جمع قيم Column1
sum_column1 = df['Column1'].sum()

# جمع قيم Column2
sum_column2 = df['Column2'].sum()

# تقسيم النتيجة
result = sum_column1 / sum_column2

print(result)

هذا سيعطيك النتيجة المطلوبة. يمكنك تعديل الأعمدة والبيانات وفقا لاحتياجات DataFrame الخاص بك.

أحسنت أخي هذا ما فعلته بالضبط ولاكن يظهر هذا الخطأ

TypeError: unsupported operand type(s) for +: 'float' and 'str'

علما أن البيانات كلها أرقام بهذا العمود

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 5 دقائق مضت قال Ahmed Ahmed64:

أحسنت أخي هذا ما فعلته بالضبط ولاكن يظهر هذا الخطأ

TypeError: unsupported operand type(s) for +: 'float' and 'str'

علما أن البيانات كلها أرقام بهذا العمود

تأكد من أن العمود لا يحتوي على أي كلمات، اذا تستطيع أرفق الكود مع الملف لأطلع عليه أكثر.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال Chihab Hedidi:

تأكد من أن العمود لا يحتوي على أي كلمات، اذا تستطيع أرفق الكود مع الملف لأطلع عليه أكثر.

names2 =melted_df[['رقم القيد', 'رمز المقرر' , 'الفصل الدراسي' , 'الاعمال' , 'النهائي' , 'المجموعة' ]]
                names2['وحدة دراسية']=melted_df['المادة'].map(self.Subjects_SH).fillna('Other')
                names2['cc']=names2['النهائي'] * names2['وحدة دراسية']
                df3 = pd.DataFrame(names2)
                Total = df3['cc'].sum()
                
                print(Total)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بالنسبة للخطأ الذي قد واجهته، يفضل دائما التحقق من أن أنواع البيانات في الأعمدة تسمح بالعمليات الحسابية، يمكنك استخدام dtype للتحقق من أن الأعمدة التي تشارك في العمليات الحسابية لديها نفس الأنواع.

# التحقق من أنواع الأعمدة
print(df3.dtypes)

# تحويل الأعمدة إلى أنواع البيانات المناسبة إذا كانت لا تزال هناك مشكلة
df3['النهائي'] = pd.to_numeric(df3['النهائي'], errors='coerce')
df3['وحدة دراسية'] = pd.to_numeric(df3['وحدة دراسية'], errors='coerce')

# القيام بالعمليات الحسابية بعد التأكد من صحة أنواع البيانات
df3['cc'] = df3['النهائي'] * df3['وحدة دراسية']

# حساب المجموع الإجمالي
Total = df3['cc'].sum()

# طباعة النتيجة
print(Total)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أشكرك أخي على التوضيح

فعلا الأن تم تطبيق البرنامج ولاكن المشكلة في عملية الجمع تظهر خاطئة

كما أن هناك هذه الأسطر لم أفهمها

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  names2['وحدة دراسية'] = pd.to_numeric(names2['وحدة دراسية'], errors='coerce')
4115460.0

بتاريخ 18 دقائق مضت قال Ahmed Ahmed64:

أشكرك أخي على التوضيح

فعلا الأن تم تطبيق البرنامج ولاكن المشكلة في عملية الجمع تظهر خاطئة

كما أن هناك هذه الأسطر لم أفهمها

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  names2['وحدة دراسية'] = pd.to_numeric(names2['وحدة دراسية'], errors='coerce')
4115460.0

قمت بتحويل إلى DataFrame وقد عالجة المشكلة الأخيرة

وهذه مخرجات  لاكن نتيجة الجمع لها خطأ

 4115460.0
رقم القيد         object
رمز المقرر        object
الفصل الدراسي     object
الاعمال            int64
النهائي          float64
المجموعة           int64
وحدة دراسية        int64
cc               float64
dtype: object

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

تظهر الرسالة "See the caveats in the documentation" عندما تقوم بتعديل قيم في DataFrame بطريقة يمكن أن تؤثر على النسخة الأصلية، يعني هذا أن هناك احتمالا لحدوث تأثير جانبي على البيانات الأصلية.

قد ظهرت هذه الرسالة إذا كانت هناك قيم غير صحيحة في العمود 'وحدة دراسية' وتم تحويلها إلى NaN، لذا تأكد أن كل سطر في العمود يحتوي على قيم و تكون عبارة عن أرقام.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 14 دقائق مضت قال Chihab Hedidi:

تظهر الرسالة "See the caveats in the documentation" عندما تقوم بتعديل قيم في DataFrame بطريقة يمكن أن تؤثر على النسخة الأصلية، يعني هذا أن هناك احتمالا لحدوث تأثير جانبي على البيانات الأصلية.

قد ظهرت هذه الرسالة إذا كانت هناك قيم غير صحيحة في العمود 'وحدة دراسية' وتم تحويلها إلى NaN، لذا تأكد أن كل سطر في العمود يحتوي على قيم و تكون عبارة عن أرقام.

تم التأكيد وقد اختفت هذه الرسالة 

المشكلة الأن أن الجمع غير صحيح

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال Ahmed Ahmed64:

تم التأكيد وقد اختفت هذه الرسالة 

المشكلة الأن أن الجمع غير صحيح

من فضلك ارفق ملف الاكسل الذي تعمل عليه حتى يمكنني فهم المشكل بشكل أفضل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 14 ساعة قال Chihab Hedidi:

من فضلك ارفق ملف الاكسل الذي تعمل عليه حتى يمكنني فهم المشكل بشكل أفضل.

أشكرك أخي لقد فهمت الخطأ 

الخطأ في DataFrame

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...