البرمجة

تحليل تغير القيم باستخدام Pandas

لفهم كيفية استخدام groupby مع pct_change في مكتبة Pandas لحساب التغير في القيم عبر الفترات، يمكننا أولاً التركيز على هيكل البيانات الخاص بك ومطلبك. لديك بيانات مرتبة حسب الشركة (Company)، المجموعة (Group)، والتاريخ (Date)، مع قيم (Value) مقابل كل تاريخ لكل شركة ومجموعة. تريد حساب التغير في القيمة عبر الفترات بناءً على هذه الفئات.

عند استخدام groupby مع pct_change، يجب أن نأخذ بعين الاعتبار كيف يتم ترتيب البيانات. بما أنك ترغب في حساب التغير في القيم عبر الفترات (في هذه الحالة، التغير في القيمة مقابل الفترة السابقة) لكل فئة (شركة ومجموعة)، يجب أن يكون لدينا ترتيب مناسب للفترات.

لتحقيق النتيجة المرجوة، يجب تقسيم البيانات أولاً باستخدام groupby حسب الفئات (Company و Group)، ثم استخدام pct_change لحساب التغير في القيمة عبر الفترات.

في البداية، يمكننا استيراد مكتبة Pandas وإنشاء إطار بيانات للبيانات الخاصة بك:

python
import pandas as pd data = { 'Company': ['A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'], 'Group': ['X', 'X', 'X', 'XX', 'XX', 'XX', 'Y', 'Y', 'Y', 'Y', 'YY', 'YY', 'YY', 'YY'], 'Date': ['2015-01', '2015-02', '2015-03', '2015-01', '2015-02', '2015-03', '2015-01', '2015-02', '2015-03', '2015-04', '2015-01', '2015-02', '2015-03', '2015-04'], 'Value': [1, 2, 1.5, 1, 1.5, 0.75, 1, 1.5, 2, 3, 2, 2.5, 3, 3] } df = pd.DataFrame(data)

ثم، يمكننا استخدام groupby مع pct_change لحساب التغير في القيمة لكل فئة (شركة ومجموعة) عبر الفترات:

python
df['Value/People'] = df.groupby(['Company', 'Group'])['Value'].pct_change()

هذا الكود يضيف عمودًا جديدًا إلى إطار البيانات يحتوي على التغير في القيمة لكل فئة عبر الفترات. سيكون لدينا NaN في الصفوف الأولى لكل فئة لأنه لا يمكن حساب التغير في القيمة بالنسبة للفترة السابقة.

الآن، بعد تنفيذ هذا الكود، يمكننا الحصول على النتيجة المرجوة، وهي إطار بيانات يحتوي على التغير في القيمة لكل فئة عبر الفترات.

المزيد من المعلومات

بمجرد تنفيذ الكود السابق، سنحصل على إطار بيانات يحتوي على التغير في القيمة لكل فئة عبر الفترات. سنقوم الآن بعرض البيانات بشكل جميل باستخدام مكتبة Pandas لجعل النتائج أكثر قراءة:

python
print(df)

نتائج الطباعة ستكون كالتالي:

css
Company Group Date Value Value/People 0 A X 2015-01 1.00 NaN 1 A X 2015-02 2.00 1.000000 2 A X 2015-03 1.50 -0.250000 3 A XX 2015-01 1.00 NaN 4 A XX 2015-02 1.50 0.500000 5 A XX 2015-03 0.75 -0.500000 6 B Y 2015-01 1.00 NaN 7 B Y 2015-02 1.50 0.500000 8 B Y 2015-03 2.00 0.333333 9 B Y 2015-04 3.00 0.500000 10 B YY 2015-01 2.00 NaN 11 B YY 2015-02 2.50 0.250000 12 B YY 2015-03 3.00 0.200000 13 B YY 2015-04 3.00 0.000000

يظهر الإطار البيانات الأصلي مع العمود الجديد “Value/People” الذي يحتوي على التغير في القيمة لكل فئة عبر الفترات. كما نرى، تظهر NaN في الصفوف الأولى لكل فئة، وهذا متوقع لأنه لا يوجد قيمة سابقة للقياس.

يمكننا أيضًا تحسين العرض بتنسيق الأعمدة وترتيب البيانات بشكل أفضل باستخدام الدوال في Pandas، مما يسهل قراءة البيانات وفهمها للمستخدمين. على سبيل المثال، يمكن تنسيق الأعمدة بتغيير تنسيق الأرقام لعرضها بأرقام عشرية معينة، وتنسيق التواريخ لعرضها بشكل قابل للقراءة، وتنظيم البيانات بترتيب تصاعدي أو تنازلي حسب الحاجة.

بهذا، يكون المقال قد تم استكماله، وقدمنا معلومات شاملة حول كيفية استخدام groupby مع pct_change في Pandas لحساب التغير في القيم عبر الفترات لكل فئة مميزة في البيانات.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر