الباندا: كيفية تطبيق وظيفة على كل صف في dataframe
يمكنك استخدام بناء الجملة الأساسي التالي لتطبيق دالة على كل صف من الباندا DataFrame:
df[' new_col '] = df. apply ( lambda x: some function, axis= 1 )
يطبق بناء الجملة هذا دالة على كل صف من الباندا DataFrame ويعيد النتائج في عمود جديد.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: تطبيق دالة على كل صف في DataFrame
لنفترض أن لدينا DataFrame الباندا التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [5, 4, 7, 9, 12, 9, 9, 4], ' B ': [10, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) AB 0 5 10 1 4 8 2 7 10 3 9 6 4 12 6 5 9 5 6 9 9 7 4 12
لنفترض الآن أننا نريد تطبيق دالة تقوم بضرب القيم في العمود A والعمود B ثم القسمة على 2.
يمكننا استخدام بناء الجملة التالي لتطبيق هذه الوظيفة على كل صف من DataFrame:
#create new column by applying function to each row in DataFrame
df[' z '] = df. apply ( lambda x: x[' A '] * x[' B '] / 2, axis= 1 )
#view updated DataFrame
print (df)
AB z
0 5 10 25.0
1 4 8 16.0
2 7 10 35.0
3 9 6 27.0
4 12 6 36.0
5 9 5 22.5
6 9 9 40.5
7 4 12 24.0
يعرض العمود z نتائج الوظيفة.
على سبيل المثال:
- الصف الأول: أ * ب / 2 = 5 * 10 / 2 = 25
- الصف الثاني: أ * ب / 2 = 4 * 8 / 2 = 16
- الصف الثالث: أ * ب / 2 = 7 * 10 / 2 = 35
وما إلى ذلك وهلم جرا.
يمكنك استخدام بناء جملة مشابه مع lambda لتطبيق أي وظيفة تريدها على كل صف من pandas DataFrame.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية تطبيق وظيفة على Pandas Groupby
كيفية إجراء مجموع GroupBy في Pandas
كيفية استخدام Groupby وPlot في Pandas