لحل مشكلتك، يمكنك استخدام مكتبة Pandas في Python للقيام بعملية التجميع والتحويل المطلوبة. سنقوم بتجميع البيانات أولاً حسب “id” و “mth”، ثم سنقوم بحساب المجموع الشهري لكل مستخدم، وأخيراً سنحسب المتوسط الشهري لكل مستخدم.
إليك الشفرة التي تقوم بذلك:
-
استراتيجيات دمج الفروع في Git08/04/2024
-
استخدام اللامبدا في C++03/04/2024
-
تعديل موقع العنوان في الرسم البياني.04/03/2024
pythonimport pandas as pd
# تعريف البيانات
data = {'id': pd.Series([1, 1, 1, 1, 2, 2, 2, 2]),
'cost': pd.Series([10, 20, 30, 40, 50, 60, 70, 80]),
'mth': pd.Series([3, 3, 4, 5, 3, 4, 4, 5])}
# إنشاء DataFrame
df = pd.DataFrame(data)
# تجميع البيانات حسب "id" و "mth" وحساب المجموع
monthly_sum = df.groupby(['id', 'mth'])['cost'].sum()
# حساب المتوسط الشهري لكل مستخدم
average_monthly = monthly_sum.groupby('id').mean()
print(average_monthly)
سينتج عن هذا الكود الناتج التالي:
yamlid
1 33.333333
2 86.666667
Name: cost, dtype: float64
هذا يعني أن المتوسط الشهري للمستخدم 1 هو 33.33، وللمستخدم 2 هو 86.67.
بهذه الطريقة، تحصل على المتوسط الشهري لكل مستخدم كما هو مطلوب.
المزيد من المعلومات
بالطبع، دعنا نوسّع المقال لنشمل شرحًا مفصلًا للخطوات التي اتخذناها وكيف تعمل كل منها:
عند العمل مع بيانات الجداول في Python، يعد استخدام مكتبة Pandas أمرًا ضروريًا. تُستخدم مكتبة Pandas لمعالجة وتحليل البيانات بشكل فعّال، وتوفر العديد من الوظائف القوية لتجميع وتحليل البيانات.
في المشكلة المطروحة، يتعيّن علينا حساب المتوسط الشهري لكل مستخدم، وذلك باستخدام البيانات المعطاة في DataFrame. لنلق نظرة عميقة على الخطوات التي اتخذناها لحل المشكلة:
-
إعداد البيانات: بدايةً، قمنا بتحديد البيانات في هيئة قاموس Python، حيث تتضمن كل من “id”، “cost”، و “mth” كل من سلسلة Pandas.
-
إنشاء DataFrame: بعد ذلك، قمنا بإنشاء DataFrame باستخدام البيانات الموجودة. تعتبر DataFrame هيكل البيانات الأساسي في Pandas وتتيح لنا إجراء العديد من العمليات التحليلية عليها.
-
تجميع البيانات وحساب المجموع الشهري: باستخدام دالة groupby() في Pandas، قمنا بتجميع البيانات حسب “id” و “mth”، ومن ثم حساب مجموع التكلفة لكل شهر لكل مستخدم.
-
حساب المتوسط الشهري لكل مستخدم: بعد الحصول على مجموع التكلفة الشهرية لكل مستخدم، قمنا بمجددًا باستخدام دالة groupby() لتجميع البيانات حسب “id” فقط، ومن ثم حساب المتوسط لكل مستخدم.
-
طباعة النتائج: أخيرًا، قمنا بطباعة المتوسط الشهري لكل مستخدم.
تظهر النتيجة النهائية أن المتوسط الشهري للمستخدم 1 هو 33.33، بينما المتوسط الشهري للمستخدم 2 هو 86.67.
من خلال هذه الخطوات، تمكنا من حساب المتوسط الشهري لكل مستخدم باستخدام Pandas في Python، وهو مفيد جدًا في تحليل البيانات وفهم الأنماط والاتجاهات في البيانات الكبيرة.
هل هذا ما تبحث عنه؟ هل هناك أي شيء آخر يمكنني مساعدتك به؟