كيفية إنشاء عمود إزاحة في برنامج الباندا (مع أمثلة)
يمكنك استخدام الدالة Shift() في الباندا لإنشاء عمود يعرض القيم المنقولة من عمود آخر.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
df[' lagged_col1 '] = df[' col1 ']. shift ( 1 )
لاحظ أن قيمة الدالة Shift() تشير إلى عدد القيم التي سيتم حساب الإزاحة لها.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: إنشاء عمود إزاحة في Pandas
لنفترض أن لدينا DataFrame الباندا التالي الذي يعرض المبيعات التي أجراها المتجر على مدار 10 أيام متتالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], ' sales ': [18, 10, 14, 13, 19, 24, 25, 29, 15, 18]}) #view DataFrame print (df) day sales 0 1 18 1 2 10 2 3 14 3 4 13 4 5 19 5 6 24 6 7 25 7 8 29 8 9 15 9 10 18
يمكننا استخدام الدالة Shift() لإنشاء عمود Shift الذي يعرض مبيعات اليوم السابق لكل صف:
#add column that represents lag of sales column df[' sales_previous_day '] = df[' sales ']. shift ( 1 ) #view updated DataFrame print (df) day sales sales_previous_day 0 1 18 NaN 1 2 10 18.0 2 3 14 10.0 3 4 13 14.0 4 5 19 13.0 5 6 24 19.0 6 7 25 24.0 7 8 29 25.0 8 9 15 29.0 9 10 18 15.0
وإليك كيفية تفسير النتيجة:
- القيمة الأولى في عمود التأخر هي NaN نظرًا لعدم وجود قيمة سابقة في عمود المبيعات .
- القيمة الثانية في عمود الإزاحة هي 18 لأنها القيمة السابقة في عمود المبيعات .
- القيمة الثالثة في عمود الإزاحة هي 10 لأنها القيمة السابقة في عمود المبيعات .
وما إلى ذلك وهلم جرا.
لاحظ أنه يمكننا أيضًا إضافة أعمدة إزاحة متعددة إلى DataFrame إذا أردنا:
#add two lag columns df[' sales_previous_day '] = df[' sales ']. shift ( 1 ) df[' sales_previous_day2 '] = df[' sales ']. shift ( 2 ) #view updated DataFrame print (df) day sales sales_previous_day sales_previous_day2 0 1 18 NaN NaN 1 2 10 18.0 NaN 2 3 14 10.0 18.0 3 4 13 14.0 10.0 4 5 19 13.0 14.0 5 6 24 19.0 13.0 6 7 25 24.0 19.0 7 8 29 25.0 24.0 8 9 15 29.0 25.0 9 10 18 15.0 29.0
يمكنك استخدام نفس الأسلوب العام لإضافة أي عدد تريده من أعمدة الإزاحة.
ملاحظة : لإنشاء عمود أساسي، ما عليك سوى استخدام القيم السالبة في الدالة Shift() .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية حذف الأعمدة في الباندا
كيفية استبعاد الأعمدة في الباندا
كيفية تطبيق دالة على الأعمدة المحددة في Pandas
كيفية تغيير ترتيب الأعمدة في Pandas DataFrame