موقع د. عزيز الجعيد
  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

علم البيانات والذكاء الاصطناعي

  • الرئـيـسـية

  • الأقسام

    • علم البيانات والذكاء الإصطناعي

    • ذكاء الأعمال

    • لغة البرمجة بايثون

    • مقالات متنوعـة

    • لغة البرمجة آر R

    • الإحــــــصــــــاء

    • البيانات المفتوحة

  • عـنــي

  • تواصل معي

استخدام دالة apply في بايثون Python

19/12/2020 | لغة البرمجة بايثون | شارك بتعليقك

عندما نتعامل مع البيانات نحتاج في كثير من الأحيان الى اجراء بعض العمليات او تطبيق بعض الدوال على الصفوف او الأعمدة. في هذا المقال سوف نتعرف على كيفية عمل ذلك من خلال استخدام الدالة apply. في البداية سوف نقوم استيراد المكتبات التي سوف نحتاجها وهي:

In:
import pandas as pd
import numpy as np

كذلك نفرض ان لدينا البيانات التالية:

In:
df = pd.DataFrame([{'a': 3, 'b': 1}, {'a': 2, 'b': 4}, {'a': 0, 'b': 6}])
df
Out:
   a  b
0  3  1
1  2  4
2  0  6

بعد ذلك سوف نقوم باستخدام الدالة apply والتي تأخذ الشكل التالي:
df.apply(func, axis, args, ...)
حيث أن:

df إطار بيانات (dataframe).
func دالة (function).
axis يأخذ القيمة 0: لتطبيق الدالة على الأعمدة او 1: لتطبيقها على الصفوف.
args متغيرات الدالة.

وهناك عدة أمثلة على كيفية استخدامها يمكن تلخيصها كما يلي:

1. تطبيق دالة على كامل عناصر الصفوف او الأعمدة. مثل جمع العناصر على مستوى الصفوف:

In:
new_df = df.apply(sum, axis=1)
new_df
Out:
Out:
0    4
1    6
2    6

2. تطبيق دالة على عناصر الصفوف والأعمدة بشكل منفصل. مثل أخذ الجذر التربعي:

In:
new_df = df.apply(np.sqrt)
new_df
Out:
          a        b
0  1.732051  1.00000
1  1.414214  2.00000
2  0.000000  2.44949

ويمكن تطبيقها على عمود محدد كما يلي:

In:
df['a'] = df['a'].apply(np.sqrt)
df
Out:
         a  b
0  1.732051  1
1  1.414214  4
2  0.000000  6

او صف محدد كما يلي:

In:
df.iloc[2] = df.iloc[2].apply(np.sqrt)
df
Out:
     a        b
0  3.0  1.00000
1  2.0  4.00000
2  0.0  2.44949

3. يمكن استخدام الدالة apply مع اي دالة معرفة، مثل دالة حساب التربيع:

In:
def Squared (x):
    out=x**2
    return(out)

new_df = df.apply(Squared)
new_df
Out:
     a     b
0  9.0   1.0
1  4.0  16.0
2  0.0   6.0

او مع دالة lambda المعرفة كما يلي:

In:
new_df = df.apply(lambda x: x**2, axis=0 )
new_df
Out:
     a     b
0  9.0   1.0
1  4.0  16.0
2  0.0   6.0

4. استخدام دالة apply مع دالة ذات متغيرات، مثل:

In:
def add_number(x,a):
    return x+a

new_df = df.apply(add_number,args=[2]) 
new_df
Out:
   a  b
0  5  3
1  4  6
2  2  8
جميع الحقوق الفكرية لهذا المقال محفوظة © موقع د. عزيز، يمنع إعادة نشره في موقع آخر

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

  • مقدمة في البايثون Python

    بايثون هي لغة برمجة متعددة الأغراض، تعمل على عدد من المنصات مثل ويندوز (Windows) و ماك (Mac OS X) و لينوكس (Linux).... مقدمة في البايثون Python
    اقرأ المزيد
  • قراءة ملفات البيانات في بايثون Python

    في هذا المقال سوف نستعرض كيف يمكن قراءة ملفات البيانات بأنواعها المختلفة باستخدام لغة البرمجة بايثون. في البداية نحتاج... قراءة ملفات البيانات في بايثون Python
    اقرأ المزيد
  • دوال القائمة (list) في بايثون Python

    تعتبر القائمة (list) احد انواع هياكل البيانات شائعة الاستخدام في في لغة البرمجة بايثون والتي يمكن أن تحوي انواع مختلفة... دوال القائمة (list) في بايثون Python
    اقرأ المزيد

شارك بتعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.

د. عزيز عوض الله الجعيد
دكتوراه في الإحصاء، عالم بيانات، مبرمج، مهتم في التحليل المتقدم، والبيانات الضخمة والذكاء الاصطناعي، لمزيد من المعلومات أضغط هنا

  • YouTube
جميع الحقوق محفوظة © موقع د. عزيز