"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية حساب عمود في DataFrame باستخدام قيم الصف السابق مع `apply()`؟

كيفية حساب عمود في DataFrame باستخدام قيم الصف السابق مع `apply()`؟

تم النشر بتاريخ 2024-11-13
تصفح:227

How to Calculate a Column in a DataFrame Using Previous Row Values with `apply()`?

التكرار من خلال DataFrames مع اعتبارات القيمة السابقة باستخدام application()

في الباندا، يتم استخدام وظيفة application () بشكل شائع لتطبيق وظيفة على كل صف من DataFrame . ومع ذلك، تنشأ التحديات عندما يتم حساب قيمة الصف السابق أيضًا باستخدام نفس طريقة application().

ضع في الاعتبار DataFrame التالي:

2015-01-31102015-02-012 3 NaN2015-02-021060NaN280100بالنسبة إلى 31-01-2015، اضبطه على قيمة D.بالنسبة للصفوف اللاحقة، اضرب قيمة الصف السابق لـ C بقيمة الصف الحالي لـ A وأضفها إلى قيمة الصف الحالي لـ B.
Index_Date أبد
1010NaN
2015-02-0310
NaN250الهدف هو استخلاص العمود C:

الحل:
  • لتحقيق ذلك، قمنا أولاً بتعيين القيمة الأولية لـ C لـ 31-01-2015:
  • df.loc[0, 'C'] = df .loc[0, 'D']

بعد ذلك، نكرر الصفوف المتبقية ونحدث قيم C بالحسابات المطلوبة:

for i in range(1, len (مدافع)): df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] df.loc[i, 'B']
df.loc[0, 'C'] = df.loc[0, 'D']

for i in range(1, len(df)):
    df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A']   df.loc[i, 'B']
A

B C 10 10 23 290
د 2015-01-31 10
102015-02-0123
22 2015-02-02 10 60
280 ]
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3